diff --git a/common/gui/common.nix b/common/gui/common.nix
index 3e77c19..633c702 100644
--- a/common/gui/common.nix
+++ b/common/gui/common.nix
@@ -1,9 +1,10 @@
-{pkgs, ...}: {
+{ pkgs, ... }:
+{
services.printing.enable = true;
environment.systemPackages = with pkgs; [
- gnome.adwaita-icon-theme
- gnome.gnome-themes-extra
+ adwaita-icon-theme
+ gnome-themes-extra
firefox-wayland
librewolf
discord
diff --git a/common/gui/hyprland.nix b/common/gui/hyprland.nix
index 0949d26..294f7ea 100644
--- a/common/gui/hyprland.nix
+++ b/common/gui/hyprland.nix
@@ -2,7 +2,8 @@
pkgs,
inputs,
...
-}: {
+}:
+{
imports = [
./common.nix
./dbus.nix
@@ -29,7 +30,7 @@
variant = "";
layout = "us";
};
- excludePackages = [pkgs.xterm];
+ excludePackages = [ pkgs.xterm ];
# videoDrivers = ["amdgpu"];
libinput = {
enable = true;
@@ -51,15 +52,16 @@
programs = {
hyprland = {
enable = true;
+ withUWSM = true; # recommended for most users
package = inputs.hyprland.packages.${pkgs.system}.hyprland;
xwayland = {
enable = true;
};
};
waybar = {
- enable = true;
+ enable = false;
package = pkgs.waybar.overrideAttrs (oldAttrs: {
- mesonFlags = oldAttrs.mesonFlags ++ ["-Dexperimental=true"];
+ mesonFlags = oldAttrs.mesonFlags ++ [ "-Dexperimental=true" ];
});
};
thunar = {
diff --git a/common/networking/default.nix b/common/networking/default.nix
index 0590c0c..a9a6091 100644
--- a/common/networking/default.nix
+++ b/common/networking/default.nix
@@ -1,11 +1,13 @@
-{lib, ...}: {
+{ lib, ... }:
+{
imports = [
./zerotier.nix
./firewall.nix
- ./wireless.nix
+ # ./wireless.nix
+ ./networkmanager.nix
];
zerotier.enable = lib.mkDefault true;
firewall.enable = lib.mkDefault true;
- wireless.enable = lib.mkDefault false;
+ # wireless.enable = lib.mkDefault false;
}
diff --git a/common/networking/networkmanager.nix b/common/networking/networkmanager.nix
new file mode 100644
index 0000000..cf0a649
--- /dev/null
+++ b/common/networking/networkmanager.nix
@@ -0,0 +1,29 @@
+{
+ config,
+ pkgs,
+ ...
+}:
+{
+
+ sops.secrets."wireless.env" = { };
+ networking = {
+ networkmanager = {
+ enable = true;
+ ensureProfiles = {
+ environmentFiles = [ config.sops.secrets."wireless.env".path ];
+ profiles = {
+ home-wifi = {
+ connection.id = "home-wifi";
+ connection.type = "wifi";
+ wifi.ssid = "$home_uuid";
+ wifi-security = {
+ auth-alg = "open";
+ key-mgmt = "wpa-psk";
+ psk = "$home_psk";
+ };
+ };
+ };
+ };
+ };
+ };
+}
diff --git a/common/nixos/laptop.nix b/common/nixos/laptop.nix
index fa5cbc4..d849971 100644
--- a/common/nixos/laptop.nix
+++ b/common/nixos/laptop.nix
@@ -2,10 +2,12 @@
config,
lib,
...
-}: {
+}:
+{
imports = [
./bluetooth.nix
- ../networking/wireless.nix
+ # ../networking/wireless.nix
+ ../networking/networkmanager.nix
];
options = {
laptop.enable = lib.mkEnableOption "Enables Laptop options";
@@ -19,6 +21,6 @@
services.tlp.enable = true;
bluetooth.enable = true;
- wireless.enable = true;
+ # wireless.enable = true;
};
}
diff --git a/common/nixos/tuigreet.nix b/common/nixos/tuigreet.nix
new file mode 100644
index 0000000..c92ccaf
--- /dev/null
+++ b/common/nixos/tuigreet.nix
@@ -0,0 +1,30 @@
+{ pkgs, ... }:
+{
+ services.greetd = {
+ enable = true;
+ settings = {
+ default_session = {
+ command = "${pkgs.greetd.tuigreet}/bin/tuigreet --remember --asterisks --container-padding 2 --time --time-format '%I:%M %p | %a âą %h | %F' --cmd Hyprland";
+ # command = "${pkgs.greetd.tuigreet}/bin/tuigreet --time --cmd Hyprland";
+ user = "greeter";
+ };
+ };
+ };
+
+ environment.systemPackages = with pkgs; [ greetd.tuigreet ];
+
+ systemd.services.greetd.serviceConfig = {
+ Type = "idle";
+ StandardInput = "tty";
+ StandardOutput = "tty";
+ StandardError = "journal"; # Without this errors will spam on screen
+ # Without these bootlogs will spam on screen
+ TTYReset = true;
+ TTYVHangup = true;
+ TTYVTDisallocate = true;
+ };
+ security.pam.services.greetd.enableGnomeKeyring = true;
+ # To prevent getting stuck at shutdown
+ systemd.extraConfig = "DefaultTimeoutStopSec=10s";
+
+}
diff --git a/common/nixos/variables-config.nix b/common/nixos/variables-config.nix
new file mode 100644
index 0000000..e7cfce2
--- /dev/null
+++ b/common/nixos/variables-config.nix
@@ -0,0 +1,9 @@
+{ lib, ... }:
+{
+ options = {
+ var = lib.mkOption {
+ type = lib.types.attrs;
+ default = { };
+ };
+ };
+}
diff --git a/common/style/vars/candlekeep.nix b/common/style/vars/candlekeep.nix
new file mode 100644
index 0000000..50244a1
--- /dev/null
+++ b/common/style/vars/candlekeep.nix
@@ -0,0 +1,18 @@
+{
+ rounding = 15;
+ gaps-in = 10;
+ gaps-out = 10 * 2;
+ active-opacity = 1;
+ inactive-opacity = 0.89;
+ blur = true;
+ border-size = 3;
+ animation-speed = "medium"; # "fast" | "medium" | "slow"
+ fetch = "fastfetch"; # "nerdfetch" | "neofetch" | "pfetch" | "none"
+
+ bar = {
+ position = "top"; # "top" | "bottom"
+ transparent = true;
+ transparentButtons = false;
+ floating = true;
+ };
+}
diff --git a/flake.lock b/flake.lock
index 631fe5e..ba3c9ec 100644
--- a/flake.lock
+++ b/flake.lock
@@ -6,11 +6,30 @@
"nixpkgs": "nixpkgs"
},
"locked": {
- "lastModified": 1732307740,
- "narHash": "sha256-ZDsYdZOtg5qkK/wfLLB83B3SI+fE32S+/6Ey0ggHODM=",
+ "lastModified": 1734091628,
+ "narHash": "sha256-8O3i8zESjHVsGzyXb8gEpLztvANq3Ot5bwo60YKJc7k=",
"owner": "Aylur",
"repo": "ags",
- "rev": "81159966eb8b39b66c3efc133982fd76920c9605",
+ "rev": "27cd93147aba09142fa585fd16f13c56268b696c",
+ "type": "github"
+ },
+ "original": {
+ "owner": "Aylur",
+ "repo": "ags",
+ "type": "github"
+ }
+ },
+ "ags_2": {
+ "inputs": {
+ "nixpkgs": "nixpkgs_5",
+ "systems": "systems_2"
+ },
+ "locked": {
+ "lastModified": 1728326430,
+ "narHash": "sha256-tV1ABHuA1HItMdCTuNdA8fMB+qw7LpjvI945VwMSABI=",
+ "owner": "Aylur",
+ "repo": "ags",
+ "rev": "60180a184cfb32b61a1d871c058b31a3b9b0743d",
"type": "github"
},
"original": {
@@ -39,11 +58,48 @@
]
},
"locked": {
- "lastModified": 1731774881,
- "narHash": "sha256-1Dxryiw8u2ejntxrrv3sMtIE8WHKxmlN4KeH+uMGbmc=",
+ "lastModified": 1731959031,
+ "narHash": "sha256-TGcvIjftziC1CjuiHCzrYDwmOoSFYIhdiKmLetzB5L0=",
"owner": "hyprwm",
"repo": "aquamarine",
- "rev": "b31a6a4da8199ae3489057db7d36069a70749a56",
+ "rev": "4468981c1c50999f315baa1508f0e53c4ee70c52",
+ "type": "github"
+ },
+ "original": {
+ "owner": "hyprwm",
+ "repo": "aquamarine",
+ "type": "github"
+ }
+ },
+ "aquamarine_2": {
+ "inputs": {
+ "hyprutils": [
+ "hyprspace",
+ "hyprland",
+ "hyprutils"
+ ],
+ "hyprwayland-scanner": [
+ "hyprspace",
+ "hyprland",
+ "hyprwayland-scanner"
+ ],
+ "nixpkgs": [
+ "hyprspace",
+ "hyprland",
+ "nixpkgs"
+ ],
+ "systems": [
+ "hyprspace",
+ "hyprland",
+ "systems"
+ ]
+ },
+ "locked": {
+ "lastModified": 1729527199,
+ "narHash": "sha256-D5/YksfRga8Akd04ZtIkuYSIOjXVrAzQIQBSeplokzU=",
+ "owner": "hyprwm",
+ "repo": "aquamarine",
+ "rev": "8d732fa8aff8b12ef2b1e2f00fc8153e41312b72",
"type": "github"
},
"original": {
@@ -60,11 +116,11 @@
]
},
"locked": {
- "lastModified": 1731952585,
- "narHash": "sha256-Sh1E7sJd8JJM3PCU1ZOei/QWz97OLCENIi2rTRoaniw=",
+ "lastModified": 1733520119,
+ "narHash": "sha256-6K07ZJTnFu1xASBCMtVc9cFTbBEauwSc7gGBmjLkLSk=",
"owner": "aylur",
"repo": "astal",
- "rev": "664c7a4ddfcf48c6e8accd3c33bb94424b0e8609",
+ "rev": "4c19d8d06fa25cc6389f37abe8839b4d8be5c0d6",
"type": "github"
},
"original": {
@@ -126,11 +182,11 @@
"base16-vim": {
"flake": false,
"locked": {
- "lastModified": 1716150083,
- "narHash": "sha256-ZMhnNmw34ogE5rJZrjRv5MtG3WaqKd60ds2VXvT6hEc=",
+ "lastModified": 1731949548,
+ "narHash": "sha256-XIDexXM66sSh5j/x70e054BnUsviibUShW7XhbDGhYo=",
"owner": "tinted-theming",
"repo": "base16-vim",
- "rev": "6e955d704d046b0dc3e5c2d68a2a6eeffd2b5d3d",
+ "rev": "61165b1632409bd55e530f3dbdd4477f011cadc6",
"type": "github"
},
"original": {
@@ -178,11 +234,11 @@
]
},
"locked": {
- "lastModified": 1732546682,
- "narHash": "sha256-7vEQ81tawY0HhmybI4DuxUjcRZIhCnuzDiMdwVYTFu0=",
+ "lastModified": 1733788855,
+ "narHash": "sha256-sGn4o9KFoGRSWDQlBKpv8dkNQ2/ODS9APopZD1/FP2Y=",
"owner": "cachix",
"repo": "devenv",
- "rev": "a7125d27b4f92de7f77064bcee4e1de91b595973",
+ "rev": "d59fee8696cd48f69cf79f65992269df9891ba86",
"type": "github"
},
"original": {
@@ -246,6 +302,22 @@
}
},
"flake-compat_3": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1696426674,
+ "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
+ "owner": "edolstra",
+ "repo": "flake-compat",
+ "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
+ "type": "github"
+ },
+ "original": {
+ "owner": "edolstra",
+ "repo": "flake-compat",
+ "type": "github"
+ }
+ },
+ "flake-compat_4": {
"locked": {
"lastModified": 1696426674,
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
@@ -259,7 +331,7 @@
"url": "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz"
}
},
- "flake-compat_4": {
+ "flake-compat_5": {
"flake": false,
"locked": {
"lastModified": 1696426674,
@@ -275,14 +347,14 @@
"type": "github"
}
},
- "flake-compat_5": {
+ "flake-compat_6": {
"flake": false,
"locked": {
- "lastModified": 1673956053,
- "narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=",
+ "lastModified": 1696426674,
+ "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
"owner": "edolstra",
"repo": "flake-compat",
- "rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9",
+ "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
"type": "github"
},
"original": {
@@ -291,7 +363,7 @@
"type": "github"
}
},
- "flake-compat_6": {
+ "flake-compat_7": {
"flake": false,
"locked": {
"lastModified": 1696426674,
@@ -337,11 +409,11 @@
]
},
"locked": {
- "lastModified": 1730504689,
- "narHash": "sha256-hgmguH29K2fvs9szpq2r3pz2/8cJd2LPS+b4tfNFCwE=",
+ "lastModified": 1733312601,
+ "narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=",
"owner": "hercules-ci",
"repo": "flake-parts",
- "rev": "506278e768c2a08bec68eb62932193e341f55c90",
+ "rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9",
"type": "github"
},
"original": {
@@ -352,7 +424,7 @@
},
"flake-utils": {
"inputs": {
- "systems": "systems_2"
+ "systems": "systems_4"
},
"locked": {
"lastModified": 1731533236,
@@ -376,11 +448,11 @@
]
},
"locked": {
- "lastModified": 1710146030,
- "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
+ "lastModified": 1731533236,
+ "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
"owner": "numtide",
"repo": "flake-utils",
- "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
+ "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
"type": "github"
},
"original": {
@@ -391,7 +463,7 @@
},
"flake-utils_3": {
"inputs": {
- "systems": "systems_4"
+ "systems": "systems_6"
},
"locked": {
"lastModified": 1710146030,
@@ -457,7 +529,7 @@
"nixvim",
"flake-compat"
],
- "gitignore": "gitignore_3",
+ "gitignore": "gitignore_4",
"nixpkgs": [
"nixvim",
"nixpkgs"
@@ -468,11 +540,11 @@
]
},
"locked": {
- "lastModified": 1732021966,
- "narHash": "sha256-mnTbjpdqF0luOkou8ZFi2asa1N3AA2CchR/RqCNmsGE=",
+ "lastModified": 1733665616,
+ "narHash": "sha256-+XTFXYlFJBxohhMGLDpYdEnhUNdxN8dyTA8WAd+lh2A=",
"owner": "cachix",
"repo": "git-hooks.nix",
- "rev": "3308484d1a443fc5bc92012435d79e80458fe43c",
+ "rev": "d8c02f0ffef0ef39f6063731fc539d8c71eb463a",
"type": "github"
},
"original": {
@@ -526,6 +598,29 @@
}
},
"gitignore_3": {
+ "inputs": {
+ "nixpkgs": [
+ "hyprspace",
+ "hyprland",
+ "pre-commit-hooks",
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1709087332,
+ "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
+ "owner": "hercules-ci",
+ "repo": "gitignore.nix",
+ "rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
+ "type": "github"
+ },
+ "original": {
+ "owner": "hercules-ci",
+ "repo": "gitignore.nix",
+ "type": "github"
+ }
+ },
+ "gitignore_4": {
"inputs": {
"nixpkgs": [
"nixvim",
@@ -547,7 +642,7 @@
"type": "github"
}
},
- "gitignore_4": {
+ "gitignore_5": {
"inputs": {
"nixpkgs": [
"pre-commit-hooks",
@@ -571,16 +666,16 @@
"gnome-shell": {
"flake": false,
"locked": {
- "lastModified": 1713702291,
- "narHash": "sha256-zYP1ehjtcV8fo+c+JFfkAqktZ384Y+y779fzmR9lQAU=",
+ "lastModified": 1732369855,
+ "narHash": "sha256-JhUWbcYPjHO3Xs3x9/Z9RuqXbcp5yhPluGjwsdE2GMg=",
"owner": "GNOME",
"repo": "gnome-shell",
- "rev": "0d0aadf013f78a7f7f1dc984d0d812971864b934",
+ "rev": "dadd58f630eeea41d645ee225a63f719390829dc",
"type": "github"
},
"original": {
"owner": "GNOME",
- "ref": "46.1",
+ "ref": "47.2",
"repo": "gnome-shell",
"type": "github"
}
@@ -617,11 +712,11 @@
]
},
"locked": {
- "lastModified": 1732482255,
- "narHash": "sha256-GUffLwzawz5WRVfWaWCg78n/HrBJrOG7QadFY6rtV8A=",
+ "lastModified": 1734093295,
+ "narHash": "sha256-hSwgGpcZtdDsk1dnzA0xj5cNaHgN9A99hRF/mxMtwS4=",
"owner": "nix-community",
"repo": "home-manager",
- "rev": "a9953635d7f34e7358d5189751110f87e3ac17da",
+ "rev": "66c5d8b62818ec4c1edb3e941f55ef78df8141a8",
"type": "github"
},
"original": {
@@ -639,11 +734,11 @@
]
},
"locked": {
- "lastModified": 1732303962,
- "narHash": "sha256-5Umjb5AdtxV5jSJd5jxoCckh5mlg+FBQDsyAilu637g=",
+ "lastModified": 1734093295,
+ "narHash": "sha256-hSwgGpcZtdDsk1dnzA0xj5cNaHgN9A99hRF/mxMtwS4=",
"owner": "nix-community",
"repo": "home-manager",
- "rev": "8cf9cb2ee78aa129e5b8220135a511a2be254c0c",
+ "rev": "66c5d8b62818ec4c1edb3e941f55ef78df8141a8",
"type": "github"
},
"original": {
@@ -660,11 +755,11 @@
]
},
"locked": {
- "lastModified": 1730837930,
- "narHash": "sha256-0kZL4m+bKBJUBQse0HanewWO0g8hDdCvBhudzxgehqc=",
+ "lastModified": 1733085484,
+ "narHash": "sha256-dVmNuUajnU18oHzBQWZm1BQtANCHaqNuxTHZQ+GN0r8=",
"owner": "nix-community",
"repo": "home-manager",
- "rev": "2f607e07f3ac7e53541120536708e824acccfaa8",
+ "rev": "c1fee8d4a60b89cae12b288ba9dbc608ff298163",
"type": "github"
},
"original": {
@@ -702,11 +797,74 @@
"type": "github"
}
},
+ "hyprcursor_2": {
+ "inputs": {
+ "hyprlang": [
+ "hyprspace",
+ "hyprland",
+ "hyprlang"
+ ],
+ "nixpkgs": [
+ "hyprspace",
+ "hyprland",
+ "nixpkgs"
+ ],
+ "systems": [
+ "hyprspace",
+ "hyprland",
+ "systems"
+ ]
+ },
+ "locked": {
+ "lastModified": 1728669738,
+ "narHash": "sha256-EDNAU9AYcx8OupUzbTbWE1d3HYdeG0wO6Msg3iL1muk=",
+ "owner": "hyprwm",
+ "repo": "hyprcursor",
+ "rev": "0264e698149fcb857a66a53018157b41f8d97bb0",
+ "type": "github"
+ },
+ "original": {
+ "owner": "hyprwm",
+ "repo": "hyprcursor",
+ "type": "github"
+ }
+ },
+ "hyprgraphics": {
+ "inputs": {
+ "hyprutils": [
+ "hyprland",
+ "hyprutils"
+ ],
+ "nixpkgs": [
+ "hyprland",
+ "nixpkgs"
+ ],
+ "systems": [
+ "hyprland",
+ "systems"
+ ]
+ },
+ "locked": {
+ "lastModified": 1733248371,
+ "narHash": "sha256-FFLJzFTyNhS7tBEEECx0B8Ye/bpmxhFVEKlECgMLc6c=",
+ "owner": "hyprwm",
+ "repo": "hyprgraphics",
+ "rev": "cc95e5babc6065bc3ab4cd195429a9900836ef13",
+ "type": "github"
+ },
+ "original": {
+ "owner": "hyprwm",
+ "repo": "hyprgraphics",
+ "type": "github"
+ }
+ },
"hyprland": {
"inputs": {
"aquamarine": "aquamarine",
"hyprcursor": "hyprcursor",
+ "hyprgraphics": "hyprgraphics",
"hyprland-protocols": "hyprland-protocols",
+ "hyprland-qtutils": "hyprland-qtutils",
"hyprlang": "hyprlang",
"hyprutils": "hyprutils",
"hyprwayland-scanner": "hyprwayland-scanner",
@@ -716,11 +874,11 @@
"xdph": "xdph"
},
"locked": {
- "lastModified": 1732545731,
- "narHash": "sha256-nRit2lb7kha7bcNB6pwhySbpI7Tjc1PLnkJvayBiJr8=",
+ "lastModified": 1734219437,
+ "narHash": "sha256-gOSSJHm9LKGTO1VaHy8Rly1OO/cOyiIb+XI6iFEdooI=",
"ref": "refs/heads/main",
- "rev": "268778823676ef2bbda42050d78946e1fc27fc31",
- "revCount": 5497,
+ "rev": "db249648776875ce3142141d0d3055e43ce606aa",
+ "revCount": 5542,
"submodules": true,
"type": "git",
"url": "https://github.com/hyprwm/Hyprland"
@@ -756,6 +914,92 @@
"type": "github"
}
},
+ "hyprland-protocols_2": {
+ "inputs": {
+ "nixpkgs": [
+ "hyprspace",
+ "hyprland",
+ "nixpkgs"
+ ],
+ "systems": [
+ "hyprspace",
+ "hyprland",
+ "systems"
+ ]
+ },
+ "locked": {
+ "lastModified": 1728345020,
+ "narHash": "sha256-xGbkc7U/Roe0/Cv3iKlzijIaFBNguasI31ynL2IlEoM=",
+ "owner": "hyprwm",
+ "repo": "hyprland-protocols",
+ "rev": "a7c183800e74f337753de186522b9017a07a8cee",
+ "type": "github"
+ },
+ "original": {
+ "owner": "hyprwm",
+ "repo": "hyprland-protocols",
+ "type": "github"
+ }
+ },
+ "hyprland-qtutils": {
+ "inputs": {
+ "hyprutils": [
+ "hyprland",
+ "hyprutils"
+ ],
+ "nixpkgs": [
+ "hyprland",
+ "nixpkgs"
+ ],
+ "systems": [
+ "hyprland",
+ "systems"
+ ]
+ },
+ "locked": {
+ "lastModified": 1733472316,
+ "narHash": "sha256-PvXiFLIExJEJj+goLbIuXLTN5CSDSAUsAfiYSdbbWg0=",
+ "owner": "hyprwm",
+ "repo": "hyprland-qtutils",
+ "rev": "969427419276c7ee170301ef1ebe0f68eb6eb2e2",
+ "type": "github"
+ },
+ "original": {
+ "owner": "hyprwm",
+ "repo": "hyprland-qtutils",
+ "type": "github"
+ }
+ },
+ "hyprland_2": {
+ "inputs": {
+ "aquamarine": "aquamarine_2",
+ "hyprcursor": "hyprcursor_2",
+ "hyprland-protocols": "hyprland-protocols_2",
+ "hyprlang": "hyprlang_2",
+ "hyprutils": "hyprutils_2",
+ "hyprwayland-scanner": "hyprwayland-scanner_2",
+ "nixpkgs": "nixpkgs_7",
+ "pre-commit-hooks": "pre-commit-hooks_2",
+ "systems": [
+ "hyprspace",
+ "systems"
+ ],
+ "xdph": "xdph_2"
+ },
+ "locked": {
+ "lastModified": 1729989895,
+ "narHash": "sha256-IFctdjt+v7zRDe24Y8+BdVDaKy0pmn60FWDzpYg4CT0=",
+ "owner": "hyprwm",
+ "repo": "Hyprland",
+ "rev": "a3d3b4fd64a51a8c1663b450bd2a408f1f0fa9b3",
+ "type": "github"
+ },
+ "original": {
+ "owner": "hyprwm",
+ "repo": "Hyprland",
+ "type": "github"
+ }
+ },
"hyprlang": {
"inputs": {
"hyprutils": [
@@ -785,6 +1029,76 @@
"type": "github"
}
},
+ "hyprlang_2": {
+ "inputs": {
+ "hyprutils": [
+ "hyprspace",
+ "hyprland",
+ "hyprutils"
+ ],
+ "nixpkgs": [
+ "hyprspace",
+ "hyprland",
+ "nixpkgs"
+ ],
+ "systems": [
+ "hyprspace",
+ "hyprland",
+ "systems"
+ ]
+ },
+ "locked": {
+ "lastModified": 1728168612,
+ "narHash": "sha256-AnB1KfiXINmuiW7BALYrKqcjCnsLZPifhb/7BsfPbns=",
+ "owner": "hyprwm",
+ "repo": "hyprlang",
+ "rev": "f054f2e44d6a0b74607a6bc0f52dba337a3db38e",
+ "type": "github"
+ },
+ "original": {
+ "owner": "hyprwm",
+ "repo": "hyprlang",
+ "type": "github"
+ }
+ },
+ "hyprpanel": {
+ "inputs": {
+ "ags": "ags_2",
+ "nixpkgs": "nixpkgs_6"
+ },
+ "locked": {
+ "lastModified": 1733062031,
+ "narHash": "sha256-cPm3IukRcKZqTgmjL9kh3ZYGoXBD8elaTQ3TFo+W67Q=",
+ "owner": "Jas-SinghFSU",
+ "repo": "HyprPanel",
+ "rev": "955eed6c60a3ea5d6b0b1b8b7086cffbae984277",
+ "type": "github"
+ },
+ "original": {
+ "owner": "Jas-SinghFSU",
+ "repo": "HyprPanel",
+ "type": "github"
+ }
+ },
+ "hyprspace": {
+ "inputs": {
+ "hyprland": "hyprland_2",
+ "systems": "systems_3"
+ },
+ "locked": {
+ "lastModified": 1733625860,
+ "narHash": "sha256-YiLUDw14NaavML8y9rxXxO7q+j3b/ghQhBmIy0+/Zmk=",
+ "owner": "KZDKM",
+ "repo": "Hyprspace",
+ "rev": "e2d561c933cd085d68bf0b39c4f78870ad0abbc2",
+ "type": "github"
+ },
+ "original": {
+ "owner": "KZDKM",
+ "repo": "Hyprspace",
+ "type": "github"
+ }
+ },
"hyprutils": {
"inputs": {
"nixpkgs": [
@@ -797,11 +1111,38 @@
]
},
"locked": {
- "lastModified": 1731702627,
- "narHash": "sha256-+JeO9gevnXannQxMfR5xzZtF4sYmSlWkX/BPmPx0mWk=",
+ "lastModified": 1732288281,
+ "narHash": "sha256-XTU9B53IjGeJiJ7LstOhuxcRjCOFkQFl01H78sT9Lg4=",
"owner": "hyprwm",
"repo": "hyprutils",
- "rev": "e911361a687753bbbdfe3b6a9eab755ecaf1d9e1",
+ "rev": "b26f33cc1c8a7fd5076e19e2cce3f062dca6351c",
+ "type": "github"
+ },
+ "original": {
+ "owner": "hyprwm",
+ "repo": "hyprutils",
+ "type": "github"
+ }
+ },
+ "hyprutils_2": {
+ "inputs": {
+ "nixpkgs": [
+ "hyprspace",
+ "hyprland",
+ "nixpkgs"
+ ],
+ "systems": [
+ "hyprspace",
+ "hyprland",
+ "systems"
+ ]
+ },
+ "locked": {
+ "lastModified": 1728941256,
+ "narHash": "sha256-WRypmcZ2Bw94lLmcmxYokVOHPJSZ7T06V49QZ4tkZeQ=",
+ "owner": "hyprwm",
+ "repo": "hyprutils",
+ "rev": "fd4be8b9ca932f7384e454bcd923c5451ef2aa85",
"type": "github"
},
"original": {
@@ -835,6 +1176,33 @@
"type": "github"
}
},
+ "hyprwayland-scanner_2": {
+ "inputs": {
+ "nixpkgs": [
+ "hyprspace",
+ "hyprland",
+ "nixpkgs"
+ ],
+ "systems": [
+ "hyprspace",
+ "hyprland",
+ "systems"
+ ]
+ },
+ "locked": {
+ "lastModified": 1726874836,
+ "narHash": "sha256-VKR0sf0PSNCB0wPHVKSAn41mCNVCnegWmgkrneKDhHM=",
+ "owner": "hyprwm",
+ "repo": "hyprwayland-scanner",
+ "rev": "500c81a9e1a76760371049a8d99e008ea77aa59e",
+ "type": "github"
+ },
+ "original": {
+ "owner": "hyprwm",
+ "repo": "hyprwayland-scanner",
+ "type": "github"
+ }
+ },
"ixx": {
"inputs": {
"flake-utils": [
@@ -920,11 +1288,11 @@
]
},
"locked": {
- "lastModified": 1732324260,
- "narHash": "sha256-0xzQvoId/P008QkTSAdFVv465P9rL9nYkIOWXL5pdsY=",
+ "lastModified": 1733570843,
+ "narHash": "sha256-sQJAxY1TYWD1UyibN/FnN97paTFuwBw3Vp3DNCyKsMk=",
"owner": "lnl7",
"repo": "nix-darwin",
- "rev": "698a62c628c2ec423aa770d8ec0e1d0bcf4fca1a",
+ "rev": "a35b08d09efda83625bef267eb24347b446c80b8",
"type": "github"
},
"original": {
@@ -940,11 +1308,11 @@
]
},
"locked": {
- "lastModified": 1732519917,
- "narHash": "sha256-AGXhwHdJV0q/WNgqwrR2zriubLr785b02FphaBtyt1Q=",
+ "lastModified": 1733629314,
+ "narHash": "sha256-U0vivjQFAwjNDYt49Krevs1murX9hKBFe2Ye0cHpgbU=",
"owner": "Mic92",
"repo": "nix-index-database",
- "rev": "f4a5ca5771ba9ca31ad24a62c8d511a405303436",
+ "rev": "f1e477a7dd11e27e7f98b646349cd66bbabf2fb8",
"type": "github"
},
"original": {
@@ -955,11 +1323,11 @@
},
"nixpkgs": {
"locked": {
- "lastModified": 1731676054,
- "narHash": "sha256-OZiZ3m8SCMfh3B6bfGC/Bm4x3qc1m2SVEAlkV6iY7Yg=",
+ "lastModified": 1733581040,
+ "narHash": "sha256-Qn3nPMSopRQJgmvHzVqPcE3I03zJyl8cSbgnnltfFDY=",
"owner": "nixos",
"repo": "nixpkgs",
- "rev": "5e4fbfb6b3de1aa2872b76d49fafc942626e2add",
+ "rev": "22c3f2cf41a0e70184334a958e6b124fb0ce3e01",
"type": "github"
},
"original": {
@@ -986,6 +1354,22 @@
}
},
"nixpkgs-stable_2": {
+ "locked": {
+ "lastModified": 1720386169,
+ "narHash": "sha256-NGKVY4PjzwAa4upkGtAMz1npHGoRzWotlSnVlqI40mo=",
+ "owner": "NixOS",
+ "repo": "nixpkgs",
+ "rev": "194846768975b7ad2c4988bdb82572c00222c0d7",
+ "type": "github"
+ },
+ "original": {
+ "owner": "NixOS",
+ "ref": "nixos-24.05",
+ "repo": "nixpkgs",
+ "type": "github"
+ }
+ },
+ "nixpkgs-stable_3": {
"locked": {
"lastModified": 1730741070,
"narHash": "sha256-edm8WG19kWozJ/GqyYx2VjW99EdhjKwbY3ZwdlPAAlo=",
@@ -1003,11 +1387,43 @@
},
"nixpkgs-unstable": {
"locked": {
- "lastModified": 1732014248,
- "narHash": "sha256-y/MEyuJ5oBWrWAic/14LaIr/u5E0wRVzyYsouYY3W6w=",
+ "lastModified": 1733940404,
+ "narHash": "sha256-Pj39hSoUA86ZePPF/UXiYHHM7hMIkios8TYG29kQT4g=",
"owner": "nixos",
"repo": "nixpkgs",
- "rev": "23e89b7da85c3640bbc2173fe04f4bd114342367",
+ "rev": "5d67ea6b4b63378b9c13be21e2ec9d1afc921713",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nixos",
+ "ref": "nixos-unstable",
+ "repo": "nixpkgs",
+ "type": "github"
+ }
+ },
+ "nixpkgs_10": {
+ "locked": {
+ "lastModified": 1731763621,
+ "narHash": "sha256-ddcX4lQL0X05AYkrkV2LMFgGdRvgap7Ho8kgon3iWZk=",
+ "owner": "NixOS",
+ "repo": "nixpkgs",
+ "rev": "c69a9bffbecde46b4b939465422ddc59493d3e4d",
+ "type": "github"
+ },
+ "original": {
+ "owner": "NixOS",
+ "ref": "nixpkgs-unstable",
+ "repo": "nixpkgs",
+ "type": "github"
+ }
+ },
+ "nixpkgs_11": {
+ "locked": {
+ "lastModified": 1715534503,
+ "narHash": "sha256-5ZSVkFadZbFP1THataCaSf0JH2cAH3S29hU9rrxTEqk=",
+ "owner": "nixos",
+ "repo": "nixpkgs",
+ "rev": "2057814051972fa1453ddfb0d98badbea9b83c06",
"type": "github"
},
"original": {
@@ -1051,11 +1467,11 @@
},
"nixpkgs_4": {
"locked": {
- "lastModified": 1731676054,
- "narHash": "sha256-OZiZ3m8SCMfh3B6bfGC/Bm4x3qc1m2SVEAlkV6iY7Yg=",
+ "lastModified": 1733392399,
+ "narHash": "sha256-kEsTJTUQfQFIJOcLYFt/RvNxIK653ZkTBIs4DG+cBns=",
"owner": "NixOS",
"repo": "nixpkgs",
- "rev": "5e4fbfb6b3de1aa2872b76d49fafc942626e2add",
+ "rev": "d0797a04b81caeae77bcff10a9dde78bc17f5661",
"type": "github"
},
"original": {
@@ -1067,15 +1483,15 @@
},
"nixpkgs_5": {
"locked": {
- "lastModified": 1732014248,
- "narHash": "sha256-y/MEyuJ5oBWrWAic/14LaIr/u5E0wRVzyYsouYY3W6w=",
- "owner": "nixos",
+ "lastModified": 1725634671,
+ "narHash": "sha256-v3rIhsJBOMLR8e/RNWxr828tB+WywYIoajrZKFM+0Gg=",
+ "owner": "NixOS",
"repo": "nixpkgs",
- "rev": "23e89b7da85c3640bbc2173fe04f4bd114342367",
+ "rev": "574d1eac1c200690e27b8eb4e24887f8df7ac27c",
"type": "github"
},
"original": {
- "owner": "nixos",
+ "owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
@@ -1083,11 +1499,27 @@
},
"nixpkgs_6": {
"locked": {
- "lastModified": 1732014248,
- "narHash": "sha256-y/MEyuJ5oBWrWAic/14LaIr/u5E0wRVzyYsouYY3W6w=",
+ "lastModified": 1732758367,
+ "narHash": "sha256-RzaI1RO0UXqLjydtz3GAXSTzHkpb/lLD1JD8a0W4Wpo=",
+ "owner": "nixos",
+ "repo": "nixpkgs",
+ "rev": "fa42b5a5f401aab8a32bd33c9a4de0738180dc59",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nixos",
+ "ref": "nixos-unstable",
+ "repo": "nixpkgs",
+ "type": "github"
+ }
+ },
+ "nixpkgs_7": {
+ "locked": {
+ "lastModified": 1729413321,
+ "narHash": "sha256-I4tuhRpZFa6Fu6dcH9Dlo5LlH17peT79vx1y1SpeKt0=",
"owner": "NixOS",
"repo": "nixpkgs",
- "rev": "23e89b7da85c3640bbc2173fe04f4bd114342367",
+ "rev": "1997e4aa514312c1af7e2bda7fad1644e778ff26",
"type": "github"
},
"original": {
@@ -1097,33 +1529,33 @@
"type": "github"
}
},
- "nixpkgs_7": {
+ "nixpkgs_8": {
"locked": {
- "lastModified": 1731763621,
- "narHash": "sha256-ddcX4lQL0X05AYkrkV2LMFgGdRvgap7Ho8kgon3iWZk=",
- "owner": "NixOS",
+ "lastModified": 1733940404,
+ "narHash": "sha256-Pj39hSoUA86ZePPF/UXiYHHM7hMIkios8TYG29kQT4g=",
+ "owner": "nixos",
"repo": "nixpkgs",
- "rev": "c69a9bffbecde46b4b939465422ddc59493d3e4d",
+ "rev": "5d67ea6b4b63378b9c13be21e2ec9d1afc921713",
"type": "github"
},
"original": {
- "owner": "NixOS",
- "ref": "nixpkgs-unstable",
+ "owner": "nixos",
+ "ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
- "nixpkgs_8": {
+ "nixpkgs_9": {
"locked": {
- "lastModified": 1715534503,
- "narHash": "sha256-5ZSVkFadZbFP1THataCaSf0JH2cAH3S29hU9rrxTEqk=",
- "owner": "nixos",
+ "lastModified": 1733940404,
+ "narHash": "sha256-Pj39hSoUA86ZePPF/UXiYHHM7hMIkios8TYG29kQT4g=",
+ "owner": "NixOS",
"repo": "nixpkgs",
- "rev": "2057814051972fa1453ddfb0d98badbea9b83c06",
+ "rev": "5d67ea6b4b63378b9c13be21e2ec9d1afc921713",
"type": "github"
},
"original": {
- "owner": "nixos",
+ "owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
@@ -1132,21 +1564,21 @@
"nixvim": {
"inputs": {
"devshell": "devshell",
- "flake-compat": "flake-compat_3",
+ "flake-compat": "flake-compat_4",
"flake-parts": "flake-parts_2",
"git-hooks": "git-hooks_2",
"home-manager": "home-manager_2",
"nix-darwin": "nix-darwin",
- "nixpkgs": "nixpkgs_6",
+ "nixpkgs": "nixpkgs_9",
"nuschtosSearch": "nuschtosSearch",
"treefmt-nix": "treefmt-nix"
},
"locked": {
- "lastModified": 1732478249,
- "narHash": "sha256-ka41KXN5B5C6yxJeIpFw5ytXFjd6vXJldw/5sN6y0CA=",
+ "lastModified": 1734223742,
+ "narHash": "sha256-vp3wSbCVU/4y5W+YI6H9PSix3WD7XbcIyesmB7W0ZWo=",
"owner": "nix-community",
"repo": "nixvim",
- "rev": "a81a03a3f5dcdcdee5cbe831a9f2e81895e92875",
+ "rev": "58d2a5ac9cc4ff987e6edb77f2b55d1dec05ce50",
"type": "github"
},
"original": {
@@ -1165,11 +1597,11 @@
]
},
"locked": {
- "lastModified": 1731936508,
- "narHash": "sha256-z0BSSf78LkxIrrFXZYmCoRRAxAmxMUKpK7CyxQRvkZI=",
+ "lastModified": 1733773348,
+ "narHash": "sha256-Y47y+LesOCkJaLvj+dI/Oa6FAKj/T9sKVKDXLNsViPw=",
"owner": "NuschtOS",
"repo": "search",
- "rev": "fe07070f811b717a4626d01fab714a87d422a9e1",
+ "rev": "3051be7f403bff1d1d380e4612f0c70675b44fc9",
"type": "github"
},
"original": {
@@ -1189,11 +1621,11 @@
"nixpkgs-stable": "nixpkgs-stable"
},
"locked": {
- "lastModified": 1731363552,
- "narHash": "sha256-vFta1uHnD29VUY4HJOO/D6p6rxyObnf+InnSMT4jlMU=",
+ "lastModified": 1733318908,
+ "narHash": "sha256-SVQVsbafSM1dJ4fpgyBqLZ+Lft+jcQuMtEL3lQWx2Sk=",
"owner": "cachix",
"repo": "git-hooks.nix",
- "rev": "cd1af27aa85026ac759d5d3fccf650abe7e1bbf0",
+ "rev": "6f4e2a2112050951a314d2733a994fbab94864c6",
"type": "github"
},
"original": {
@@ -1204,19 +1636,44 @@
},
"pre-commit-hooks_2": {
"inputs": {
- "flake-compat": "flake-compat_4",
- "gitignore": "gitignore_4",
+ "flake-compat": "flake-compat_3",
+ "gitignore": "gitignore_3",
"nixpkgs": [
+ "hyprspace",
+ "hyprland",
"nixpkgs"
],
"nixpkgs-stable": "nixpkgs-stable_2"
},
"locked": {
- "lastModified": 1732021966,
- "narHash": "sha256-mnTbjpdqF0luOkou8ZFi2asa1N3AA2CchR/RqCNmsGE=",
+ "lastModified": 1729104314,
+ "narHash": "sha256-pZRZsq5oCdJt3upZIU4aslS9XwFJ+/nVtALHIciX/BI=",
+ "owner": "cachix",
+ "repo": "git-hooks.nix",
+ "rev": "3c3e88f0f544d6bb54329832616af7eb971b6be6",
+ "type": "github"
+ },
+ "original": {
+ "owner": "cachix",
+ "repo": "git-hooks.nix",
+ "type": "github"
+ }
+ },
+ "pre-commit-hooks_3": {
+ "inputs": {
+ "flake-compat": "flake-compat_5",
+ "gitignore": "gitignore_5",
+ "nixpkgs": [
+ "nixpkgs"
+ ],
+ "nixpkgs-stable": "nixpkgs-stable_3"
+ },
+ "locked": {
+ "lastModified": 1734190932,
+ "narHash": "sha256-nIweyhgHbDMJSH6zlciTe2abEzDKWkW28B6/qM9UWOU=",
"owner": "cachix",
"repo": "pre-commit-hooks.nix",
- "rev": "3308484d1a443fc5bc92012435d79e80458fe43c",
+ "rev": "c2b3567b03baf0999a1dd14f7e7ab34b46297d68",
"type": "github"
},
"original": {
@@ -1231,11 +1688,13 @@
"devenv": "devenv",
"home-manager": "home-manager",
"hyprland": "hyprland",
+ "hyprpanel": "hyprpanel",
+ "hyprspace": "hyprspace",
"nix-index-database": "nix-index-database",
- "nixpkgs": "nixpkgs_5",
+ "nixpkgs": "nixpkgs_8",
"nixpkgs-unstable": "nixpkgs-unstable",
"nixvim": "nixvim",
- "pre-commit-hooks": "pre-commit-hooks_2",
+ "pre-commit-hooks": "pre-commit-hooks_3",
"sops-nix": "sops-nix",
"stylix": "stylix",
"superfile": "superfile"
@@ -1243,14 +1702,14 @@
},
"sops-nix": {
"inputs": {
- "nixpkgs": "nixpkgs_7"
+ "nixpkgs": "nixpkgs_10"
},
"locked": {
- "lastModified": 1732186149,
- "narHash": "sha256-N9JGWe/T8BC0Tss2Cv30plvZUYoiRmykP7ZdY2on2b0=",
+ "lastModified": 1733965552,
+ "narHash": "sha256-GZ4YtqkfyTjJFVCub5yAFWsHknG1nS/zfk7MuHht4Fs=",
"owner": "Mic92",
"repo": "sops-nix",
- "rev": "53c853fb1a7e4f25f68805ee25c83d5de18dc699",
+ "rev": "2d73fc6ac4eba4b9a83d3cb8275096fbb7ab4004",
"type": "github"
},
"original": {
@@ -1265,24 +1724,24 @@
"base16-fish": "base16-fish",
"base16-helix": "base16-helix",
"base16-vim": "base16-vim",
- "flake-compat": "flake-compat_5",
+ "flake-compat": "flake-compat_6",
"flake-utils": "flake-utils_2",
"gnome-shell": "gnome-shell",
"home-manager": "home-manager_3",
"nixpkgs": [
"nixpkgs"
],
- "systems": "systems_3",
+ "systems": "systems_5",
"tinted-foot": "tinted-foot",
"tinted-kitty": "tinted-kitty",
"tinted-tmux": "tinted-tmux"
},
"locked": {
- "lastModified": 1732261424,
- "narHash": "sha256-8uTKUHkaU980J5kRnLYrdwmjZYB88eBGUk1oVgIUHFE=",
+ "lastModified": 1734110168,
+ "narHash": "sha256-Q0eeLYn45ErXlqGQyXmLLHGe1mqnUiK0Y9wZRa1SNFI=",
"owner": "danth",
"repo": "stylix",
- "rev": "b667a340730dd3d0596083aa7c949eef01367c62",
+ "rev": "a9e3779949925ef22f5a215c5f49cf520dea30b1",
"type": "github"
},
"original": {
@@ -1293,17 +1752,17 @@
},
"superfile": {
"inputs": {
- "flake-compat": "flake-compat_6",
+ "flake-compat": "flake-compat_7",
"flake-utils": "flake-utils_3",
"gomod2nix": "gomod2nix",
- "nixpkgs": "nixpkgs_8"
+ "nixpkgs": "nixpkgs_11"
},
"locked": {
- "lastModified": 1732529942,
- "narHash": "sha256-63YHJvqsRqbtkbAlrsREfL/9b3jaojQbqnzboPNxX/E=",
+ "lastModified": 1733807756,
+ "narHash": "sha256-VZHQlbPffsKpt0kxMhh2BwDB4BCuGhBAoGPczDyReIk=",
"owner": "MHNightCat",
"repo": "superfile",
- "rev": "8bd8b2139528cfad6f79536ef59806583bcdee93",
+ "rev": "aab8d242e54c63bfb9b0bfe8cf5b4c00690e568f",
"type": "github"
},
"original": {
@@ -1329,20 +1788,35 @@
},
"systems_2": {
"locked": {
- "lastModified": 1681028828,
- "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
+ "lastModified": 1689347949,
+ "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
"owner": "nix-systems",
- "repo": "default",
- "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
+ "repo": "default-linux",
+ "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
"type": "github"
},
"original": {
"owner": "nix-systems",
- "repo": "default",
+ "repo": "default-linux",
"type": "github"
}
},
"systems_3": {
+ "locked": {
+ "lastModified": 1689347949,
+ "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
+ "owner": "nix-systems",
+ "repo": "default-linux",
+ "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nix-systems",
+ "repo": "default-linux",
+ "type": "github"
+ }
+ },
+ "systems_4": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
@@ -1357,7 +1831,22 @@
"type": "github"
}
},
- "systems_4": {
+ "systems_5": {
+ "locked": {
+ "lastModified": 1681028828,
+ "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
+ "owner": "nix-systems",
+ "repo": "default",
+ "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nix-systems",
+ "repo": "default",
+ "type": "github"
+ }
+ },
+ "systems_6": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
@@ -1409,11 +1898,11 @@
"tinted-tmux": {
"flake": false,
"locked": {
- "lastModified": 1696725902,
- "narHash": "sha256-wDPg5elZPcQpu7Df0lI5O8Jv4A3T6jUQIVg63KDU+3Q=",
+ "lastModified": 1729501581,
+ "narHash": "sha256-1ohEFMC23elnl39kxWnjzH1l2DFWWx4DhFNNYDTYt54=",
"owner": "tinted-theming",
"repo": "tinted-tmux",
- "rev": "c02050bebb60dbb20cb433cd4d8ce668ecc11ba7",
+ "rev": "f0e7f7974a6441033eb0a172a0342e96722b4f14",
"type": "github"
},
"original": {
@@ -1430,11 +1919,11 @@
]
},
"locked": {
- "lastModified": 1732292307,
- "narHash": "sha256-5WSng844vXt8uytT5djmqBCkopyle6ciFgteuA9bJpw=",
+ "lastModified": 1733761991,
+ "narHash": "sha256-s4DalCDepD22jtKL5Nw6f4LP5UwoMcPzPZgHWjAfqbQ=",
"owner": "numtide",
"repo": "treefmt-nix",
- "rev": "705df92694af7093dfbb27109ce16d828a79155f",
+ "rev": "0ce9d149d99bc383d1f2d85f31f6ebd146e46085",
"type": "github"
},
"original": {
@@ -1471,11 +1960,58 @@
]
},
"locked": {
- "lastModified": 1731703417,
- "narHash": "sha256-rheDc/7C+yI+QspYr9J2z9kQ5P9F4ATapI7qyFAe1XA=",
+ "lastModified": 1733157064,
+ "narHash": "sha256-NetqJHAN4bbZDQADvpep+wXk2AbMZ2bN6tINz8Kpz6M=",
"owner": "hyprwm",
"repo": "xdg-desktop-portal-hyprland",
- "rev": "8070f36deec723de71e7557441acb17e478204d3",
+ "rev": "fd85ef39369f95eed67fdf3f025e86916edeea2f",
+ "type": "github"
+ },
+ "original": {
+ "owner": "hyprwm",
+ "repo": "xdg-desktop-portal-hyprland",
+ "type": "github"
+ }
+ },
+ "xdph_2": {
+ "inputs": {
+ "hyprland-protocols": [
+ "hyprspace",
+ "hyprland",
+ "hyprland-protocols"
+ ],
+ "hyprlang": [
+ "hyprspace",
+ "hyprland",
+ "hyprlang"
+ ],
+ "hyprutils": [
+ "hyprspace",
+ "hyprland",
+ "hyprutils"
+ ],
+ "hyprwayland-scanner": [
+ "hyprspace",
+ "hyprland",
+ "hyprwayland-scanner"
+ ],
+ "nixpkgs": [
+ "hyprspace",
+ "hyprland",
+ "nixpkgs"
+ ],
+ "systems": [
+ "hyprspace",
+ "hyprland",
+ "systems"
+ ]
+ },
+ "locked": {
+ "lastModified": 1728166987,
+ "narHash": "sha256-w6dVTguAn9zJ+7aPOhBQgDz8bn6YZ7b56cY8Kg5HJRI=",
+ "owner": "hyprwm",
+ "repo": "xdg-desktop-portal-hyprland",
+ "rev": "fb9c8d665af0588bb087f97d0f673ddf0d501787",
"type": "github"
},
"original": {
diff --git a/flake.nix b/flake.nix
index 2ec3e85..44df739 100644
--- a/flake.nix
+++ b/flake.nix
@@ -10,6 +10,11 @@
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
# Also see the 'unstable-packages' overlay at 'overlays/default.nix'.
+ hyprpanel.url = "github:Jas-SinghFSU/HyprPanel";
+ hyprspace = {
+ url = "github:KZDKM/Hyprspace";
+ };
+
# Home manager
home-manager.url = "github:nix-community/home-manager/master";
home-manager.inputs.nixpkgs.follows = "nixpkgs";
diff --git a/home-manager/machines/candlekeep.nix b/home-manager/machines/candlekeep.nix
index 58e27ec..607d673 100644
--- a/home-manager/machines/candlekeep.nix
+++ b/home-manager/machines/candlekeep.nix
@@ -7,7 +7,8 @@
config,
pkgs,
...
-}: {
+}:
+{
# You can import other home-manager modules here
imports = [
# If you want to use modules your own flake exports (from modules/home-manager):
@@ -18,6 +19,7 @@
inputs.ags.homeManagerModules.default
# You can also split up your configuration and import pieces of it here:
+ ./candlekeep/variables.nix
# ./nvim.nix
../modules/common.nix
../modules/hyprland.nix
@@ -29,6 +31,12 @@
../modules/ags.nix
../modules/neovim
../modules/yazi.nix
+ ../modules/hyprpanel.nix
+ ../modules/hyprlock.nix
+ ../modules/hypridle.nix
+ # ../modules/hyprspace.nix
+ ../modules/qutebrowser.nix
+ ../scripts/default.nix
];
nixpkgs = {
@@ -41,7 +49,7 @@
# You can also add overlays exported from other flakes:
# neovim-nightly-overlay.overlays.default
- (final: prev: {neovim = inputs.neovim-config.packages."x86_64-linux".default;})
+ (final: prev: { neovim = inputs.neovim-config.packages."x86_64-linux".default; })
# Or define it inline, for example:
# (final: prev: {
@@ -49,6 +57,7 @@
# patches = [ ./change-hello-to-hi.patch ];
# });
# })
+ inputs.hyprpanel.overlay
];
# Configure your nixpkgs instance
config = {
@@ -66,7 +75,7 @@
stylix = {
base16Scheme = "${pkgs.base16-schemes}/share/themes/catppuccin-latte.yaml";
- image = ../../wallpapers/nixos-wallpaper-catppuccin-latte.png;
+ image = ../../wallpapers/forrest.png;
autoEnable = true;
enable = true;
@@ -103,7 +112,11 @@
# Add stuff for your user as you see fit:
# programs.neovim.enable = true;
- home.packages = with pkgs; [openvpn];
+ home.packages = with pkgs; [
+ openvpn
+ hyprpanel
+ nerd-fonts.overpass
+ ];
# Enable home-manager and git
programs.home-manager.enable = true;
diff --git a/home-manager/machines/candlekeep/variables.nix b/home-manager/machines/candlekeep/variables.nix
new file mode 100644
index 0000000..881f78c
--- /dev/null
+++ b/home-manager/machines/candlekeep/variables.nix
@@ -0,0 +1,26 @@
+{ config, ... }:
+{
+ imports = [ ../../../common/nixos/variables-config.nix ];
+
+ config.var = {
+ hostname = "candlekeep";
+ username = "gwg313";
+ configDirectory = "/home/" + config.var.username + "/.config/nixos";
+
+ keyboardLayout = "en_US";
+
+ location = "Ottawa";
+ timeZone = "American/Toronto";
+ defaultLocale = "en_US.UTF-8";
+
+ git = {
+ username = "gwg313";
+ email = "gwg313@pm.me";
+ };
+
+ autoUpgrade = true;
+ autoGarbageCollector = true;
+
+ theme = import ../../../common/style/vars/candlekeep.nix;
+ };
+}
diff --git a/home-manager/modules/alacritty.nix b/home-manager/modules/alacritty.nix
index 9265b66..1fa8aba 100644
--- a/home-manager/modules/alacritty.nix
+++ b/home-manager/modules/alacritty.nix
@@ -13,7 +13,8 @@
};
font = {
normal = {
- family = lib.mkForce "Monaspace Krypton";
+ # family = lib.mkForce "Monaspace Krypton";
+ family = lib.mkForce "Comic Code";
};
};
};
diff --git a/home-manager/modules/common-gui.nix b/home-manager/modules/common-gui.nix
index a40bb90..63515ae 100644
--- a/home-manager/modules/common-gui.nix
+++ b/home-manager/modules/common-gui.nix
@@ -1,7 +1,9 @@
-{pkgs, ...}: {
+{ pkgs, ... }:
+{
imports = [
./alacritty.nix
./fuzzel.nix
+ ./kitty.nix
];
fonts.fontconfig.enable = true;
@@ -11,7 +13,7 @@
home.packages = with pkgs; [
# fonts
- nerdfonts
+ nerd-fonts.monaspace
noto-fonts-cjk-sans
rPackages.fontawesome
ubuntu_font_family
diff --git a/home-manager/modules/common.nix b/home-manager/modules/common.nix
index 8239320..4096ca5 100644
--- a/home-manager/modules/common.nix
+++ b/home-manager/modules/common.nix
@@ -16,6 +16,7 @@
./tmux/tmux.nix
./zoxide.nix
./zsh.nix
+ ./nushell.nix
];
nixpkgs.config.allowUnfree = true;
@@ -60,6 +61,7 @@
atac
dblab
gobang
+ lazyjournal
# TUI Apps
#ncdu_2
diff --git a/home-manager/modules/hypridle.nix b/home-manager/modules/hypridle.nix
new file mode 100644
index 0000000..f7e4bf6
--- /dev/null
+++ b/home-manager/modules/hypridle.nix
@@ -0,0 +1,28 @@
+# Hypridle is a daemon that listens for user activity and runs commands when the user is idle.
+{ pkgs, ... }:
+{
+ services.hypridle = {
+ enable = true;
+ settings = {
+
+ general = {
+ ignore_dbus_inhibit = false;
+ lock_cmd = "pidof hyprlock || ${pkgs.hyprlock}/bin/hyprlock";
+ before_sleep_cmd = "loginctl lock-session";
+ after_sleep_cmd = "hyprctl dispatch dpms on";
+ };
+
+ listener = [
+ {
+ timeout = 600;
+ on-timeout = "pidof hyprlock || ${pkgs.hyprlock}/bin/hyprlock";
+ }
+
+ {
+ timeout = 660;
+ on-timeout = "systemctl suspend";
+ }
+ ];
+ };
+ };
+}
diff --git a/home-manager/modules/hyprland.nix b/home-manager/modules/hyprland.nix
index eec6a05..8bf305e 100644
--- a/home-manager/modules/hyprland.nix
+++ b/home-manager/modules/hyprland.nix
@@ -2,16 +2,17 @@
config,
pkgs,
...
-}: {
- imports = [./waybar.nix];
+}:
+{
+ imports = [ ./waybar.nix ];
- services.mako = {
- enable = true;
- defaultTimeout = 4000;
- borderRadius = 5;
- borderSize = 2;
- layer = "overlay";
- };
+ # services.mako = {
+ # enable = true;
+ # defaultTimeout = 4000;
+ # borderRadius = 5;
+ # borderSize = 2;
+ # layer = "overlay";
+ # };
wayland.windowManager.hyprland.enable = true;
@@ -96,13 +97,17 @@
bind = [
# general binds
- "$mod, RETURN, exec, ${pkgs.alacritty}/bin/alacritty"
+ ",switch:Lid Switch, exec, ${pkgs.hyprlock}/bin/hyprlock" # Lock when closing Lid
+ # "$mod, RETURN, exec, ${pkgs.alacritty}/bin/alacritty"
+ "$mod, RETURN, exec, ${pkgs.kitty}/bin/kitty"
+ "$shiftMod,SPACE, exec, hyprfocus-toggle" # Toggle HyprFocus
"$mod, Q, killactive"
"SUPER_SHIFT, Q, exec, ${pkgs.wlogout}/bin/wlogout"
"$mod, SPACE, exec, pkill fuzzel || ${pkgs.fuzzel}/bin/fuzzel" # pkill or allows for toggle
"SUPER_SHIFT, SPACE, togglefloating"
- "$mod, F, fullscreen"
- "$mod, L, exec, ${pkgs.swaylock-effects}/bin/swaylock -f"
+ # "$mod, F, fullscreen"
+ "$mod,F, exec, hyprfocus-toggle" # Toggle HyprFocus
+ "$mod, L, exec, ${pkgs.hyprlock}/bin/hyprlock"
"$mod, B, exec, ${pkgs.grim}/bin/grim \"desktop-$(${pkgs.busybox}/bin/date +\"%Y%m%d%H%m\").png"
"SUPER_SHIFT, B, exec, ${pkgs.grim}/bin/grim -g \"$(${pkgs.slurp}/bin/slurp -d)\" - | ${pkgs.wl-clipboard}/bin/wl-copy" # Screenshot selection directly to clipboard
@@ -114,8 +119,10 @@
# Screen Brightness
#",XF86MonBrightnessUp, exec, ${pkgs.light}/bin/light -A 10"
#",XF86MonBrightnessDown, exec, ${pkgs.light}/bin/light -U 10"
- ",XF86MonBrightnessUp, exec, ${pkgs.light}/bin/light -S \"$(${pkgs.light}/bin/light -G | ${pkgs.busybox}/bin/awk '{ print int(($1 + .72) * 1.4) }')\""
- ",XF86MonBrightnessDown, exec, ${pkgs.light}/bin/light -S \"$(${pkgs.light}/bin/light -G | ${pkgs.busybox}/bin/awk '{ print int($1 / 1.4) }')\""
+ # ",XF86MonBrightnessUp, exec, ${pkgs.light}/bin/light -S \"$(${pkgs.light}/bin/light -G | ${pkgs.busybox}/bin/awk '{ print int(($1 + .72) * 1.4) }')\""
+ # ",XF86MonBrightnessDown, exec, ${pkgs.light}/bin/light -S \"$(${pkgs.light}/bin/light -G | ${pkgs.busybox}/bin/awk '{ print int($1 / 1.4) }')\""
+ ",XF86MonBrightnessUp, exec, brightness-up" # Brightness Up
+ ",XF86MonBrightnessDown, exec, brightness-down" # Brightness Down
# move focus
"$mod, left, movefocus, l"
"$mod, right, movefocus, r"
@@ -160,9 +167,9 @@
"$mod_ALT, mouse:272, resizewindow"
];
- monitor = [",preferred,auto,1"];
+ monitor = [ ",preferred,auto,1" ];
# monitor = [ "HDMI-A-1,1920x1080@144,auto,1" ];
- exec = ["${pkgs.swaybg}/bin/swaybg -i ${config.stylix.image} -m fill"];
+ exec = [ "${pkgs.swaybg}/bin/swaybg -i ${config.stylix.image} -m fill" ];
exec-once = [
# Enables clipboard sync
"${pkgs.wl-clipboard}/bin/wl-paste -p | ${pkgs.wl-clipboard}/bin/wl-copy"
@@ -189,35 +196,5 @@
# will reset the submap, meaning end the current one and return to the global one
submap=reset
'';
- services.swayidle = {
- enable = true;
- events = [
- {
- event = "before-sleep";
- command = "${pkgs.swaylock}/bin/swaylock -f";
- }
- {
- event = "lock";
- command = "lock";
- }
- ];
- timeouts = [
- {
- timeout = 1800;
- command = "${pkgs.swaylock}/bin/swaylock -f";
- }
- ];
- systemdTarget = "xdg-desktop-portal-hyprland.service";
- };
- programs.swaylock = {
- enable = true;
- settings = {
- font-size = "24";
- indicator-idle-visible = false;
- indicator-radius = 100;
- indicator-thickness = 20;
- show-failed-attempts = true;
- };
- };
}
diff --git a/home-manager/modules/hyprlock.nix b/home-manager/modules/hyprlock.nix
new file mode 100644
index 0000000..26d4117
--- /dev/null
+++ b/home-manager/modules/hyprlock.nix
@@ -0,0 +1,89 @@
+{ config, lib, ... }:
+let
+ foreground = "rgba(216, 222, 233, 0.70)";
+ imageStr = toString config.stylix.image;
+ font = config.stylix.fonts.serif.name;
+in
+{
+ programs.hyprlock = {
+ enable = true;
+ settings = {
+ general = {
+ grace = 5;
+ no_fade_in = false;
+ disable_loading_bar = false;
+ };
+
+ # BACKGROUND
+ background = {
+ monitor = "";
+ # path = imageStr;
+ blur_passes = 0;
+ contrast = 0.8916;
+ brightness = 0.7172;
+ vibrancy = 0.1696;
+ vibrancy_darkness = 0.0;
+ };
+
+ label = [
+ {
+ # Day-Month-Date
+ monitor = "";
+ text = ''cmd[update:1000] echo -e "$(date +"%A, %B %d")"'';
+ color = foreground;
+ font_size = 28;
+ font_family = font + " Bold";
+ position = "0, 490";
+ halign = "center";
+ valign = "center";
+ }
+ # Time
+ {
+ monitor = "";
+ text = ''cmd[update:1000] echo "$(date +"%I:%M")"'';
+ color = foreground;
+ font_size = 160;
+ font_family = "steelfish outline regular";
+ position = "0, 370";
+ halign = "center";
+ valign = "center";
+ }
+ # USER
+ {
+ monitor = "";
+ text = "ïŸ $USER";
+ color = foreground;
+ outline_thickness = 2;
+ dots_size = 0.2; # Scale of input-field height, 0.2 - 0.8
+ dots_spacing = 0.2; # Scale of dots' absolute size, 0.0 - 1.0
+ dots_center = true;
+ font_size = 18;
+ font_family = font + " Bold";
+ position = "0, -180";
+ halign = "center";
+ valign = "center";
+ }
+ ];
+
+ # INPUT FIELD
+ input-field = lib.mkForce {
+ monitor = "";
+ size = "300, 60";
+ outline_thickness = 2;
+ dots_size = 0.2; # Scale of input-field height, 0.2 - 0.8
+ dots_spacing = 0.2; # Scale of dots' absolute size, 0.0 - 1.0
+ dots_center = true;
+ outer_color = "rgba(255, 255, 255, 0)";
+ inner_color = "rgba(255, 255, 255, 0.1)";
+ font_color = foreground;
+ fade_on_empty = false;
+ font_family = font + " Bold";
+ placeholder_text = "đ Enter Password";
+ hide_input = false;
+ position = "0, -250";
+ halign = "center";
+ valign = "center";
+ };
+ };
+ };
+}
diff --git a/home-manager/modules/hyprpanel.nix b/home-manager/modules/hyprpanel.nix
new file mode 100644
index 0000000..f741164
--- /dev/null
+++ b/home-manager/modules/hyprpanel.nix
@@ -0,0 +1,239 @@
+# Hyprpanel is the bar on top of the screen
+# Display informations like workspaces, battery, wifi, ...
+{ pkgs, config, ... }:
+let
+ transparentButtons = config.var.theme.bar.transparentButtons;
+
+ location = config.var.location;
+ username = config.var.username;
+
+ accent = "#${config.lib.stylix.colors.base0D}";
+ accent-alt = "#${config.lib.stylix.colors.base03}";
+ background = "#${config.lib.stylix.colors.base00}";
+ background-alt = "#${config.lib.stylix.colors.base01}";
+ foreground = "#${config.lib.stylix.colors.base05}";
+ font = "${config.stylix.fonts.serif.name}";
+ fontSize = "${toString config.stylix.fonts.sizes.desktop}";
+
+ rounding = config.var.theme.rounding;
+ border-size = config.var.theme.border-size;
+
+ gaps-out = config.var.theme.gaps-out;
+ gaps-in = config.var.theme.gaps-in;
+
+ floating = config.var.theme.bar.floating;
+ transparent = config.var.theme.bar.transparent;
+ position = config.var.theme.bar.position;
+
+in
+{
+ wayland.windowManager.hyprland.settings.exec-once = [ "${pkgs.hyprpanel}/bin/hyprpanel" ];
+
+ home.packages = with pkgs; [
+ hyprpanel
+ libnotify
+ ];
+
+ home.file.".cache/ags/hyprpanel/options.json" = {
+ text = # json
+ ''
+ {
+ "bar.layouts": {
+ "0": {
+ "left": [
+ "dashboard",
+ "workspaces",
+ "windowtitle"
+ ],
+ "middle": [
+ "media"
+ ],
+ "right": [
+ "systray",
+ "volume",
+ "bluetooth",
+ "battery",
+ "network",
+ "clock",
+ "notifications"
+ ]
+ },
+ "1": {
+ "left": [
+ "dashboard",
+ "workspaces",
+ "windowtitle"
+ ],
+ "middle": [
+ "media"
+ ],
+ "right": [
+ "systray",
+ "volume",
+ "bluetooth",
+ "battery",
+ "network",
+ "clock",
+ "notifications"
+ ]
+ },
+ "2": {
+ "left": [
+ "dashboard",
+ "workspaces",
+ "windowtitle"
+ ],
+ "middle": [
+ "media"
+ ],
+ "right": [
+ "systray",
+ "volume",
+ "bluetooth",
+ "battery",
+ "network",
+ "clock",
+ "notifications"
+ ]
+ }
+ },
+ "theme.font.name": "${font}",
+ "theme.font.size": "${fontSize}px",
+ "theme.bar.outer_spacing": "${if floating && transparent then "0" else "8"}px",
+ "theme.bar.buttons.y_margins": "${if floating && transparent then "0" else "8"}px",
+ "theme.bar.buttons.spacing": "0.3em",
+ "theme.bar.buttons.radius": "${
+ if transparent then toString rounding else toString (rounding - 8)
+ }px",
+ "theme.bar.floating": ${if floating then "true" else "false"},
+ "theme.bar.buttons.padding_x": "0.8rem",
+ "theme.bar.buttons.padding_y": "0.4rem",
+
+ "theme.bar.buttons.workspaces.hover": "${accent-alt}",
+ "theme.bar.buttons.workspaces.active": "${accent}",
+ "theme.bar.buttons.workspaces.available": "${accent-alt}",
+ "theme.bar.buttons.workspaces.occupied": "${accent}",
+
+ "theme.bar.margin_top": "${if position == "top" then toString (gaps-in * 2) else "0"}px",
+ "theme.bar.margin_bottom": "${if position == "top" then "0" else toString (gaps-in * 2)}px",
+ "theme.bar.margin_sides": "${toString gaps-out}px",
+ "theme.bar.border_radius": "${toString rounding}px",
+
+ "bar.launcher.icon": "ï",
+ "theme.bar.transparent": ${if transparent then "true" else "false"},
+ "bar.workspaces.show_numbered": false,
+ "bar.workspaces.workspaces": 5,
+ "bar.workspaces.monitorSpecific": true,
+ "bar.workspaces.hideUnoccupied": false,
+ "bar.windowtitle.label": true,
+ "bar.volume.label": false,
+ "bar.network.truncation_size": 12,
+ "bar.bluetooth.label": false,
+ "bar.clock.format": "%a %b %d %I:%M %p",
+ "bar.notifications.show_total": true,
+ "theme.notification.border_radius": "${toString rounding}px",
+ "theme.osd.enable": true,
+ "theme.osd.orientation": "vertical",
+ "theme.osd.location": "left",
+ "theme.osd.radius": "${toString rounding}px",
+ "theme.osd.margins": "0px 0px 0px 10px",
+ "theme.osd.muted_zero": true,
+ "menus.clock.weather.location": "${location}",
+ "menus.clock.weather.key": "myapikey",
+ "menus.clock.weather.unit": "metric",
+ "menus.dashboard.powermenu.avatar.image": "/home/${username}/.profile_picture.png",
+ "menus.dashboard.powermenu.confirmation": false,
+
+ "menus.dashboard.shortcuts.left.shortcut1.icon": "îȘź",
+ "menus.dashboard.shortcuts.left.shortcut1.command": "qutebrowser",
+ "menus.dashboard.shortcuts.left.shortcut1.tooltip": "Qutebrowser",
+ "menus.dashboard.shortcuts.left.shortcut2.icon": "ó°
¶",
+ "menus.dashboard.shortcuts.left.shortcut2.command": "caffeine",
+ "menus.dashboard.shortcuts.left.shortcut2.tooltip": "Caffeine",
+ "menus.dashboard.shortcuts.left.shortcut3.icon": "ó°",
+ "menus.dashboard.shortcuts.left.shortcut3.command": "night-shift",
+ "menus.dashboard.shortcuts.left.shortcut3.tooltip": "Night-shift",
+ "menus.dashboard.shortcuts.left.shortcut4.icon": "î",
+ "menus.dashboard.shortcuts.left.shortcut4.command": "menu",
+ "menus.dashboard.shortcuts.left.shortcut4.tooltip": "Search Apps",
+ "menus.dashboard.shortcuts.right.shortcut1.icon": "ï»",
+ "menus.dashboard.shortcuts.right.shortcut1.command": "hyprpicker -a",
+ "menus.dashboard.shortcuts.right.shortcut1.tooltip": "Color Picker",
+ "menus.dashboard.shortcuts.right.shortcut3.icon": "ó°",
+ "menus.dashboard.shortcuts.right.shortcut3.command": "screenshot region swappy",
+ "menus.dashboard.shortcuts.right.shortcut3.tooltip": "Screenshot",
+
+ "menus.dashboard.directories.left.directory1.label": "ó° Downloads",
+ "menus.dashboard.directories.left.directory1.command": "bash -c \"thunar $HOME/Downloads/\"",
+ "menus.dashboard.directories.left.directory2.label": "ó° Pictures",
+ "menus.dashboard.directories.left.directory2.command": "bash -c \"thunar $HOME/Pictures/\"",
+ "menus.dashboard.directories.left.directory3.label": "ó±§¶ Documents",
+ "menus.dashboard.directories.left.directory3.command": "bash -c \"thunar $HOME/Documents/\"",
+ "menus.dashboard.directories.right.directory1.label": "ó±” Home",
+ "menus.dashboard.directories.right.directory1.command": "bash -c \"thunar $HOME/\"",
+ "menus.dashboard.directories.right.directory2.label": "ó° Projects",
+ "menus.dashboard.directories.right.directory2.command": "bash -c \"thunar $HOME/dev/\"",
+ "menus.dashboard.directories.right.directory3.label": "î Config",
+ "menus.dashboard.directories.right.directory3.command": "bash -c \"thunar $HOME/.config/\"",
+
+ "theme.bar.menus.monochrome": true,
+ "wallpaper.enable": false,
+ "theme.bar.menus.background": "${background}",
+ "theme.bar.menus.cards": "${background-alt}",
+ "theme.bar.menus.card_radius": "${toString rounding}px",
+ "theme.bar.menus.label": "${foreground}",
+ "theme.bar.menus.text": "${foreground}",
+ "theme.bar.menus.border.size": "${toString border-size}px",
+ "theme.bar.menus.border.color": "${accent}",
+ "theme.bar.menus.border.radius": "${toString rounding}px",
+ "theme.bar.menus.popover.text": "${foreground}",
+ "theme.bar.menus.popover.background": "${background-alt}",
+ "theme.bar.menus.listitems.active": "${accent}",
+ "theme.bar.menus.icons.active": "${accent}",
+ "theme.bar.menus.switch.enabled":"${accent}",
+ "theme.bar.menus.check_radio_button.active": "${accent}",
+ "theme.bar.menus.buttons.default": "${accent}",
+ "theme.bar.menus.buttons.active": "${accent}",
+ "theme.bar.menus.iconbuttons.active": "${accent}",
+ "theme.bar.menus.progressbar.foreground": "${accent}",
+ "theme.bar.menus.slider.primary": "${accent}",
+ "theme.bar.menus.tooltip.background": "${background-alt}",
+ "theme.bar.menus.tooltip.text": "${foreground}",
+ "theme.bar.menus.dropdownmenu.background":"${background-alt}",
+ "theme.bar.menus.dropdownmenu.text": "${foreground}",
+ "theme.bar.background": "${background + (if transparentButtons then "00" else "")}",
+ "theme.bar.buttons.style": "default",
+ "theme.bar.buttons.monochrome": true,
+ "theme.bar.buttons.text": "${foreground}",
+ "theme.bar.buttons.background": "${
+ (if transparent then background else background-alt) + (if transparentButtons then "00" else "")
+ }",
+ "theme.bar.buttons.icon": "${accent}",
+ "theme.bar.buttons.notifications.background": "${background-alt}",
+ "theme.bar.buttons.hover": "${background}",
+ "theme.bar.buttons.notifications.hover": "${background}",
+ "theme.bar.buttons.notifications.total": "${accent}",
+ "theme.bar.buttons.notifications.icon": "${accent}",
+ "theme.notification.background": "${background-alt}",
+ "theme.notification.actions.background": "${accent}",
+ "theme.notification.actions.text": "${foreground}",
+ "theme.notification.label": "${accent}",
+ "theme.notification.border": "${background-alt}",
+ "theme.notification.text": "${foreground}",
+ "theme.notification.labelicon": "${accent}",
+ "theme.osd.bar_color": "${accent}",
+ "theme.osd.bar_overflow_color": "${accent-alt}",
+ "theme.osd.icon": "${background}",
+ "theme.osd.icon_container": "${accent}",
+ "theme.osd.label": "${accent}",
+ "theme.osd.bar_container": "${background-alt}",
+ "theme.bar.menus.menu.media.background.color": "${background-alt}",
+ "theme.bar.menus.menu.media.card.color": "${background-alt}",
+ "theme.bar.menus.menu.media.card.tint": 90,
+ "bar.customModules.updates.pollingInterval": 1440000,
+ "bar.media.show_active_only": true,
+ "theme.bar.location": "${position}"
+ }
+ '';
+ };
+}
diff --git a/home-manager/modules/hyprspace.nix b/home-manager/modules/hyprspace.nix
new file mode 100644
index 0000000..99841c9
--- /dev/null
+++ b/home-manager/modules/hyprspace.nix
@@ -0,0 +1,19 @@
+{ inputs, pkgs, ... }:
+{
+
+ wayland.windowManager.hyprland = {
+ plugins = [ inputs.hyprspace.packages.${pkgs.system}.Hyprspace ];
+ settings = {
+ plugin = {
+ overview = {
+ autoDrag = false;
+ };
+ };
+
+ bind = [
+ "$mod,S, overview:toggle" # Overview
+
+ ];
+ };
+ };
+}
diff --git a/home-manager/modules/kitty.nix b/home-manager/modules/kitty.nix
new file mode 100644
index 0000000..ae33337
--- /dev/null
+++ b/home-manager/modules/kitty.nix
@@ -0,0 +1,29 @@
+# A fast, GPU-accelerated terminal emulator.
+{
+ pkgs,
+ lib,
+ ...
+}:
+{
+ programs.kitty = {
+ enable = true;
+ font = {
+ # name = lib.mkForce "Comic Code";
+ size = lib.mkForce 16;
+ };
+ shellIntegration.enableZshIntegration = true;
+ extraConfig = ''
+ font_family family="Comic Code Ligatures"
+ bold_font auto
+ italic_font auto
+ bold_italic_font auto
+ symbol_map U+e000-U+e00a,U+ea60-U+ebeb,U+e0a0-U+e0c8,U+e0ca,U+e0cc-U+e0d7,U+e200-U+e2a9,U+e300-U+e3e3,U+e5fa-U+e6b1,U+e700-U+e7c5,U+ed00-U+efc1,U+f000-U+f2ff,U+f000-U+f2e0,U+f300-U+f372,U+f400-U+f533,U+f0001-U+f1af0 Symbols Nerd Font Mono
+ '';
+ environment = {
+ "TERM" = "xterm-256color";
+ };
+ };
+ home.packages = with pkgs; [
+ ueberzugpp
+ ];
+}
diff --git a/home-manager/modules/linux-gui.nix b/home-manager/modules/linux-gui.nix
index fe575aa..8385fa4 100644
--- a/home-manager/modules/linux-gui.nix
+++ b/home-manager/modules/linux-gui.nix
@@ -1,4 +1,5 @@
-{pkgs, ...}: {
+{ pkgs, ... }:
+{
imports = [
./discord
./zathura.nix
@@ -27,5 +28,6 @@
chromium
vlc
zotero
+ feishin
];
}
diff --git a/home-manager/modules/neovim/plugins/lsp.nix b/home-manager/modules/neovim/plugins/lsp.nix
index 80813ce..c7b9554 100644
--- a/home-manager/modules/neovim/plugins/lsp.nix
+++ b/home-manager/modules/neovim/plugins/lsp.nix
@@ -2,7 +2,8 @@
lib,
pkgs,
...
-}: {
+}:
+{
programs.nixvim = {
extraConfigLuaPre =
# lua
@@ -63,10 +64,10 @@
servers = {
nil-ls = {
enable = true;
- filetypes = ["nix"];
+ filetypes = [ "nix" ];
settings = {
formatting = {
- command = ["${lib.getExe pkgs.nixfmt-rfc-style}"];
+ command = [ "${lib.getExe pkgs.nixfmt-rfc-style}" ];
};
};
};
@@ -74,14 +75,19 @@
pyright.enable = true;
hls.enable = true;
gopls.enable = true;
- hls.installGhc = true;
+ # hls.installGhc = true;
+ hls.filetypes = [
+ "haskell"
+ "lhaskell"
+ "cabal"
+ ];
leanls.enable = true;
texlab.enable = true;
html.enable = true;
cmake = {
enable = true;
- filetypes = ["cmake"];
+ filetypes = [ "cmake" ];
};
# ccls = {
diff --git a/home-manager/modules/nushell.nix b/home-manager/modules/nushell.nix
new file mode 100644
index 0000000..8b5d0ce
--- /dev/null
+++ b/home-manager/modules/nushell.nix
@@ -0,0 +1,118 @@
+# A cat clone with syntax highlighting and Git integration.
+{ pkgs, ... }:
+{
+ programs.nushell = {
+ enable = true;
+ envFile.text = ''
+ # Environment Variables
+ $env.XDG_CONFIG_HOME = ($env.HOME | path join ".config")
+ # Starship Prompt
+ mkdir ~/.cache/starship
+ starship init nu | save -f ~/.cache/starship/init.nu
+ # Zoxide
+ zoxide init nushell | save -f ~/.zoxide.nu
+ '';
+ shellAliases = {
+ update = "sudo nixos-rebuild switch";
+ clean = "nix-collect-garbage -d";
+ repair = "nix-store --repair --verify --check-contents";
+
+ "." = "cd ../";
+ ".." = "cd ../../";
+ "..." = "cd ../../../";
+ "...." = "cd ../../../../";
+
+ ls = "ls | grid -c -i";
+ ll = "ls";
+
+ ps = "procs";
+ grep = "rg";
+ cat = "bat";
+ vim = "nvim";
+
+ # Default flags
+ rm = "rm -i";
+ chmod = "chmod -R";
+ cp = "cp -i -v";
+ mv = "mv -i -v";
+ mkdir = "mkdir -p -v";
+ df = "df -h";
+ du = "du -h -s";
+ dd = "dd status=progress bs=4M conv=fdatasync ";
+ wgetpaste = "wgetpaste -Xx";
+ sudo = "sudo "; # Makes sudo work with es
+ ssh = "TERM=xterm ssh"; # Fixes some issues with ssh on some terminals
+ wget = "wget -c";
+ ping = "ping -c 5";
+ ftp = "ftp -p";
+
+ # Misc alieses I use often
+
+ ports = "ss -tulanp";
+ rmd = "rm -rf";
+ mine = "sudo chown -R $(whoami):users";
+ benchmark = "hyperfine --warmup 3 ";
+ c = "clear";
+ listen = "lsof -P -i -n";
+ octal = "stat -c '%a %n'";
+ };
+ configFile.text = ''
+ $env.config = {
+ show_banner: false
+ }
+ # Starhip Prompt
+ use ~/.cache/starship/init.nu
+ # Zoxide
+ source ~/.zoxide.nu
+ # nix shell
+ def nix-shell [] {
+ nix-shell --run $env.SHELL
+ }
+ def "version-completions" [] {
+ [
+ {value: "4", description: "IPv4 address (default)"},
+ {value: "6", description: "IPv6 address"}
+ ]}
+ # Define the function with completion annotation
+ def "whatismyip" [
+ version?: int@version-completions # Parameter with custom completion
+ ] {
+ # Validate and set default version
+ let version = if ($version == null) {
+ 4
+ } else if ($version in [4 6]) {
+ $version
+ } else {
+ error make {
+ msg: "Invalid IP version. Must be either 4 or 6."
+ }
+ }
+ # Get IP address
+ let ip = (http get $"https://api($version).ipify.org")
+ # Create record and display as table
+ {
+ $"ip($version)": $ip
+ } | table
+ }
+ '';
+ };
+
+ home.packages = with pkgs; [
+ fastfetch
+ ];
+
+ programs = {
+ carapace.enable = true;
+ carapace.enableNushellIntegration = true;
+ # starship = {
+ # enable = true;
+ # settings = {
+ # add_newline = true;
+ # character = {
+ # success_symbol = "[â](bold green)";
+ # error_symbol = "[â](bold red)";
+ # };
+ # };
+ # };
+ };
+}
diff --git a/home-manager/modules/qutebrowser.nix b/home-manager/modules/qutebrowser.nix
new file mode 100644
index 0000000..3f087f8
--- /dev/null
+++ b/home-manager/modules/qutebrowser.nix
@@ -0,0 +1,170 @@
+# A cat clone with syntax highlighting and Git integration.
+{ ... }:
+{
+ programs.qutebrowser = {
+ enable = true;
+
+ searchEngines = {
+ "DEFAULT" = "https://duckduckgo.com/?q={}&ia=web";
+ "d" = "https://duckduckgo.com/?q={}&ia=web";
+ "g" = "https://google.com/search?q={}";
+ "y" = "https://youtube.com/results?search_query={}";
+ "ya" = "https://yandex.com/search/?text={}";
+ "n" = "https://mynixos.com/search?q={}";
+ "nixo" = "https://search.nixos.org/options?channel=unstable&query={}";
+ "nixp" = "https://search.nixos.org/packages?channel=unstable&query={}";
+ "gt" = "https://github.com/search?q={}&type=repositories";
+ };
+
+ quickmarks = {
+ home = "github.com/gwg313";
+ mynixos = "https://mynixos.com";
+ github = "https://github.com";
+ outlook = "https://outlook.office.com/mail/";
+ office = "https://www.office.com/?auth=2";
+ proton = "https://mail.proton.me/u/0/inbox";
+ cloudflare-one = "https://one.dash.cloudflare.com/";
+ chatgpt = "https://chat.openai.com/";
+ nixvim = "https://nix-community.github.io/nixvim/";
+ hyprland = "https://wiki.hyprland.org/";
+ nerdfont = "https://www.nerdfonts.com/cheat-sheet";
+ youtube = "https://youtube.com/";
+ cloudflare = "https://dash.cloudflare.com/";
+ };
+
+ settings = {
+ url = {
+ default_page = "github.com/gwg313";
+ start_pages = [ "github.com/gwg313" ];
+ };
+
+ colors = {
+ webpage.preferred_color_scheme = "dark"; # Enable dark mode for websites that support it
+ };
+
+ statusbar.show = "in-mode";
+
+ completion = {
+ height = "30%";
+ open_categories = [ "history" ];
+ scrollbar = {
+ padding = 0;
+ width = 0;
+ };
+ show = "always";
+ shrink = true;
+ timestamp_format = "";
+ web_history.max_items = 7;
+ };
+
+ content = {
+ autoplay = false;
+ javascript.clipboard = "access";
+ javascript.enabled = true;
+ webgl = true;
+ pdfjs = true;
+ };
+
+ downloads = {
+ position = "bottom";
+ remove_finished = 0;
+ };
+
+ hints = {
+ radius = 1;
+ };
+
+ scrolling = {
+ bar = "never";
+ smooth = true;
+ };
+
+ tabs = {
+ show = "multiple";
+ last_close = "close";
+ mode_on_change = "restore";
+ close_mouse_button = "right";
+ };
+
+ zoom.default = "100%";
+
+ qt.force_software_rendering = "chromium";
+ };
+
+ keyBindings = {
+ normal = {
+ " p" = "tab-move -";
+ " n" = "tab-move +";
+ " w" = "tab-close";
+
+ " 1" = "tab-focus 1";
+ " 2" = "tab-focus 2";
+ " 3" = "tab-focus 3";
+ " 4" = "tab-focus 4";
+ " 5" = "tab-focus 5";
+ " 6" = "tab-focus 6";
+ " 7" = "tab-focus 7";
+ " 8" = "tab-focus 8";
+ " 9" = "tab-focus 9";
+ " 0" = "tab-focus 10";
+
+ "" = "tab-close";
+ "" = "open -w";
+
+ "" = "tab-focus 1";
+ "" = "tab-focus 2";
+ "" = "tab-focus 3";
+ "" = "tab-focus 4";
+ "" = "tab-focus 5";
+ "" = "tab-focus 6";
+ "" = "tab-focus 7";
+ "" = "tab-focus 8";
+ "" = "tab-focus 9";
+ "" = "tab-focus 10";
+ };
+
+ command = {
+ "" = "tab-close";
+ "" = "open -w";
+ "" = "tab-focus 1";
+ "" = "tab-focus 2";
+ "" = "tab-focus 3";
+ "" = "tab-focus 4";
+ "" = "tab-focus 5";
+ "" = "tab-focus 6";
+ "" = "tab-focus 7";
+ "" = "tab-focus 8";
+ "" = "tab-focus 9";
+ "" = "tab-focus 10";
+ };
+
+ insert = {
+ "" = "tab-close";
+ "" = "open -w";
+ "" = "tab-focus 1";
+ "" = "tab-focus 2";
+ "" = "tab-focus 3";
+ "" = "tab-focus 4";
+ "" = "tab-focus 5";
+ "" = "tab-focus 6";
+ "" = "tab-focus 7";
+ "" = "tab-focus 8";
+ "" = "tab-focus 9";
+ "" = "tab-focus 10";
+ };
+ };
+
+ extraConfig = ''
+ config.unbind("gm")
+ config.unbind("gd")
+ config.unbind("gb")
+ config.unbind("tl")
+ config.unbind("gt")
+
+ c.tabs.padding = {"bottom": 6, "left": 7, "right": 7, "top": 6}
+ c.statusbar.padding = {"bottom": 6, "left": 7, "right": 7, "top": 6}
+
+ config.load_autoconfig(True)
+ '';
+ };
+}
diff --git a/home-manager/modules/starship.nix b/home-manager/modules/starship.nix
index 9355c93..4056407 100644
--- a/home-manager/modules/starship.nix
+++ b/home-manager/modules/starship.nix
@@ -1,8 +1,10 @@
# A customizable prompt for shells.
-{...}: {
+{ ... }:
+{
programs.starship = {
enable = true;
enableZshIntegration = true;
+ enableNushellIntegration = true;
settings = {
add_newline = true;
character = {
diff --git a/home-manager/modules/zoxide.nix b/home-manager/modules/zoxide.nix
index 4aceb20..5ed04b3 100644
--- a/home-manager/modules/zoxide.nix
+++ b/home-manager/modules/zoxide.nix
@@ -1,7 +1,9 @@
# âš Magical shell history
-{...}: {
+{ ... }:
+{
programs.zoxide = {
enable = true;
+ enableNushellIntegration = true;
};
programs.zsh = {
diff --git a/home-manager/modules/zsh.nix b/home-manager/modules/zsh.nix
index c8f76f5..be0c0a3 100644
--- a/home-manager/modules/zsh.nix
+++ b/home-manager/modules/zsh.nix
@@ -4,7 +4,8 @@
pkgs,
user,
...
-}: {
+}:
+{
programs.zsh = {
enable = true;
shellAliases = {
@@ -53,10 +54,10 @@
zplug = {
enable = true;
plugins = [
- {name = "zsh-users/zsh-autosuggestions";}
- {name = "zsh-users/zsh-completions";}
- {name = "zsh-users/zsh-syntax-highlighting";}
- {name = "MichaelAquilina/zsh-you-should-use";}
+ { name = "zsh-users/zsh-autosuggestions"; }
+ { name = "zsh-users/zsh-completions"; }
+ { name = "zsh-users/zsh-syntax-highlighting"; }
+ { name = "MichaelAquilina/zsh-you-should-use"; }
];
};
@@ -75,6 +76,11 @@
};
initExtra = ''
eval $(thefuck --alias)
+ fastfetch
'';
};
+
+ home.packages = with pkgs; [
+ fastfetch
+ ];
}
diff --git a/home-manager/scripts/brightness/default.nix b/home-manager/scripts/brightness/default.nix
new file mode 100644
index 0000000..05a09e5
--- /dev/null
+++ b/home-manager/scripts/brightness/default.nix
@@ -0,0 +1,41 @@
+# - ## Brightness
+#-
+#- This module provides a set of scripts to control the brightness of the screen.
+#-
+#- - `brightness-up` increases the brightness by 5%.
+#- - `brightness-down` decreases the brightness by 5%.
+#- - `brightness-set [value]` sets the brightness to the given value.
+#- - `brightness-change [up|down] [value]` increases or decreases the brightness by the given value.
+
+{ pkgs, ... }:
+
+let
+ increments = "5";
+
+ brightness-change = pkgs.writeShellScriptBin "brightness-change" ''
+ [[ $1 == "up" ]] && ${pkgs.brightnessctl}/bin/brightnessctl set ''${2-${increments}}%+
+ [[ $1 == "down" ]] && ${pkgs.brightnessctl}/bin/brightnessctl set ''${2-${increments}}%-
+ '';
+
+ brightness-set = pkgs.writeShellScriptBin "brightness-set" ''
+ ${pkgs.brightnessctl}/bin/brightnessctl set ''${1-100}%
+ '';
+
+ brightness-up = pkgs.writeShellScriptBin "brightness-up" ''
+ brightness-change up ${increments}
+ '';
+
+ brightness-down = pkgs.writeShellScriptBin "brightness-down" ''
+ brightness-change down ${increments}
+ '';
+
+in
+{
+ home.packages = [
+ pkgs.brightnessctl
+ brightness-change
+ brightness-up
+ brightness-down
+ brightness-set
+ ];
+}
diff --git a/home-manager/scripts/caffeine/default.nix b/home-manager/scripts/caffeine/default.nix
new file mode 100644
index 0000000..cd21efb
--- /dev/null
+++ b/home-manager/scripts/caffeine/default.nix
@@ -0,0 +1,40 @@
+# - ## Caffeine
+#-
+#- Caffeine is a simple script that toggles hypridle (disable suspend & screenlock).
+#-
+#- - `caffeine-status` - Check if hypridle is running. (0/1)
+#- - `caffeine-status-icon` - Check if hypridle is running. (icon)
+#- - `caffeine` - Toggle hypridle.
+
+{ pkgs, ... }:
+let
+ caffeine-status = pkgs.writeShellScriptBin "caffeine-status" ''
+ [[ $(pidof "hypridle") ]] && echo "0" || echo "1"
+ '';
+
+ caffeine-status-icon = pkgs.writeShellScriptBin "caffeine-status-icon" ''
+ [[ $(pidof "hypridle") ]] && echo "ó°ŸȘ" || echo "ó°
¶"
+ '';
+
+ caffeine = pkgs.writeShellScriptBin "caffeine" ''
+ if [[ $(pidof "hypridle") ]]; then
+ systemctl --user stop hypridle.service
+ title="ó°
¶ Caffeine Activated"
+ description="Caffeine is now active! Your screen will not turn off automatically."
+ else
+ systemctl --user start hypridle.service
+ title="ó°ŸȘ Caffeine Deactivated"
+ description="Caffeine is now deactivated! Your screen will turn off automatically."
+ fi
+
+ notif "caffeine" "$title" "$description"
+ '';
+
+in
+{
+ home.packages = [
+ caffeine-status
+ caffeine
+ caffeine-status-icon
+ ];
+}
diff --git a/home-manager/scripts/default.nix b/home-manager/scripts/default.nix
new file mode 100644
index 0000000..194509b
--- /dev/null
+++ b/home-manager/scripts/default.nix
@@ -0,0 +1,11 @@
+{
+ imports = [
+ ./night-shift
+ ./brightness
+ ./hyprfocus
+ ./hyprpanel
+ ./caffeine
+ ./notification
+ ./screenshot
+ ];
+}
diff --git a/home-manager/scripts/hyprfocus/default.nix b/home-manager/scripts/hyprfocus/default.nix
new file mode 100644
index 0000000..91578e6
--- /dev/null
+++ b/home-manager/scripts/hyprfocus/default.nix
@@ -0,0 +1,52 @@
+# - ## Hyprfocus
+#-
+#- A simple script to toggle focus on few windows in Hyprland.
+#- (disable gaps, border, shadow, opacity, etc.)
+#-
+#- - `hyprfocus-on` - Enable hyprfocus.
+#- - `hyprfocus-off` - Disable hyprfocus.
+#- - `hyprfocus-toggle` - Toggle hyprfocus.
+{ pkgs, ... }:
+let
+ hyprfocus-on =
+ pkgs.writeShellScriptBin "hyprfocus-on"
+ # bash
+ ''
+ hyprpanel-hide
+ hyprctl keyword "general:gaps_in" 0
+ hyprctl keyword "general:gaps_out" 0
+ hyprctl keyword "general:border_size" 1
+ hyprctl keyword "decoration:rounding" 0
+ hyprctl keyword "decoration:drop_shadow" false
+ hyprctl keyword "decoration:inactive_opacity" 0.98
+ hyprctl keyword "decoration:active_opacity" 1
+ echo "1" > /tmp/hyprfocus
+ '';
+
+ hyprfocus-off =
+ pkgs.writeShellScriptBin "hyprfocus-off"
+ # bash
+ ''
+ hyprctl reload
+ hyprpanel-show
+ rm /tmp/hyprfocus
+ '';
+
+ hyprfocus-toggle =
+ pkgs.writeShellScriptBin "hyprfocus-toggle"
+ # bash
+ ''
+ if [ -f /tmp/hyprfocus ]; then
+ hyprfocus-off
+ else
+ hyprfocus-on
+ fi
+ '';
+in
+{
+ home.packages = [
+ hyprfocus-on
+ hyprfocus-off
+ hyprfocus-toggle
+ ];
+}
diff --git a/home-manager/scripts/hyprpanel/default.nix b/home-manager/scripts/hyprpanel/default.nix
new file mode 100644
index 0000000..9f1fc29
--- /dev/null
+++ b/home-manager/scripts/hyprpanel/default.nix
@@ -0,0 +1,52 @@
+# - ## Hyprpanel
+#-
+#- Quick scripts to toggle, reload, hide & show hyprpanel.
+#-
+#- - `hyprpanel-toggle` - Toggle hyprpanel (hide/show).
+#- - `hyprpanel-show` - Show hyprpanel.
+#- - `hyprpanel-hide` - Hide hyprpanel.
+#- - `hyprpanel-reload` - Reload hyprpanel.
+{ pkgs, ... }:
+let
+ hyprpanel-toggle = pkgs.writeShellScriptBin "hyprpanel-toggle" ''
+ hyprpanel -t bar-0
+ hyprpanel -t bar-1
+ hyprpanel -t bar-2
+ hyprpanel -t bar-3
+ '';
+
+ hyprpanel-hide = pkgs.writeShellScriptBin "hyprpanel-hide" ''
+ status=$(hyprpanel -r "isWindowVisible('bar-0')")
+ if [[ $status == "true" ]]; then
+ hyprpanel -t bar-0
+ fi
+ status=$(hyprpanel -r "isWindowVisible('bar-1')")
+ if [[ $status == "true" ]]; then
+ hyprpanel -t bar-1
+ fi
+ '';
+
+ hyprpanel-show = pkgs.writeShellScriptBin "hyprpanel-show" ''
+ status=$(hyprpanel -r "isWindowVisible('bar-0')")
+ if [[ $status == "false" ]]; then
+ hyprpanel -t bar-0
+ fi
+ status=$(hyprpanel -r "isWindowVisible('bar-1')")
+ if [[ $status == "false" ]]; then
+ hyprpanel -t bar-1
+ fi
+ '';
+
+ hyprpanel-reload = pkgs.writeShellScriptBin "hyprpanel-reload" ''
+ [ $(pgrep "ags") ] && pkill ags
+ hyprctl dispatch exec hyprpanel
+ '';
+in
+{
+ home.packages = [
+ hyprpanel-toggle
+ hyprpanel-reload
+ hyprpanel-hide
+ hyprpanel-show
+ ];
+}
diff --git a/home-manager/scripts/night-shift/default.nix b/home-manager/scripts/night-shift/default.nix
new file mode 100644
index 0000000..2e010cc
--- /dev/null
+++ b/home-manager/scripts/night-shift/default.nix
@@ -0,0 +1,79 @@
+# - ## Night-Shift
+#-
+#- Night-Shift is a feature that reduces the amount of blue light emitted by your screen, which can help reduce eye strain and improve sleep quality. This module provides a set of scripts to control Night-Shift on your system.
+#- It use hyprsunset to control the screen temperature.
+#-
+#- - `night-shift-on` activates Night-Shift.
+#- - `night-shift-off` deactivates Night-Shift.
+#- - `night-shift` toggles Night-Shift.
+#- - `night-shift-status` checks if Night-Shift is active. (0/1)
+#- - `night-shift-status-icon` checks if Night-Shift is active. (icon)
+{ pkgs, ... }:
+let
+ value = "4500"; # Default value for night-shift temperature
+
+ night-shift-on =
+ pkgs.writeShellScriptBin "night-shift-on"
+ # bash
+ ''
+ ${pkgs.hyprsunset}/bin/hyprsunset -t ${value} &
+ title="ó° Night-Shift Activated"
+ description="Night-Shift is now activated! Your screen will be warmer and easier on the eyes."
+
+ notif "night-shift" "$title" "$description"
+ '';
+
+ night-shift-off =
+ pkgs.writeShellScriptBin "night-shift-off"
+ # bash
+ ''
+ pkill hyprsunset
+ title="ó° Night-Shift Deactivated"
+ description="Night-Shift is now deactivated! Your screen will return to normal."
+
+ notif "night-shift" "$title" "$description"
+ '';
+
+ night-shift =
+ pkgs.writeShellScriptBin "night-shift"
+ # bash
+ ''
+ if pidof "hyprsunset"; then
+ night-shift-off
+ else
+ night-shift-on
+ fi
+ '';
+
+ night-shift-status =
+ pkgs.writeShellScriptBin "night-shift-status"
+ # bash
+ ''
+ if pidof "hyprsunset"; then
+ echo "1"
+ else
+ echo "0"
+ fi
+ '';
+
+ night-shift-status-icon =
+ pkgs.writeShellScriptBin "night-shift-status-icon"
+ # bash
+ ''
+ if pidof "hyprsunset"; then
+ echo "ó°"
+ else
+ echo "ó°"
+ fi
+ '';
+in
+{
+ home.packages = [
+ pkgs.hyprsunset
+ night-shift-on
+ night-shift-off
+ night-shift
+ night-shift-status
+ night-shift-status-icon
+ ];
+}
diff --git a/home-manager/scripts/notification/default.nix b/home-manager/scripts/notification/default.nix
new file mode 100644
index 0000000..084ac55
--- /dev/null
+++ b/home-manager/scripts/notification/default.nix
@@ -0,0 +1,33 @@
+{ pkgs, ... }:
+let
+ notif =
+ pkgs.writeShellScriptBin "notif" # bash
+ ''
+ # Shell script to send custom notifications
+ # Usage: notif "sender_id" "message" ["description"]
+ NOTIF_FOLDER="/tmp/notif"
+ sender_id=$1 # To overwrite existing notifications
+ title=$2
+ description=$3
+
+ [[ -d "$NOTIF_FOLDER" ]] || mkdir $NOTIF_FOLDER
+ [[ -f "$NOTIF_FOLDER/$sender_id" ]] || (echo "0" > "$NOTIF_FOLDER/$sender_id")
+
+ old_notification_id=$(cat "$NOTIF_FOLDER/$sender_id")
+ [[ -z "$old_notification_id" ]] && old_notification_id=0
+
+ ${pkgs.libnotify}/bin/notify-send \
+ --replace-id="$old_notification_id" --print-id \
+ --app-name="$sender_id" \
+ "$title" \
+ "$description" \
+ > "$NOTIF_FOLDER/$sender_id"
+ '';
+
+in
+{
+ home.packages = [
+ pkgs.libnotify
+ notif
+ ];
+}
diff --git a/home-manager/scripts/screenshot/default.nix b/home-manager/scripts/screenshot/default.nix
new file mode 100644
index 0000000..04be4cd
--- /dev/null
+++ b/home-manager/scripts/screenshot/default.nix
@@ -0,0 +1,40 @@
+# - ## Screenshot
+#-
+#- This module provides a script to take screenshots using `grimblast` and `swappy`.
+#-
+#- - `screenshot [region|window|monitor] [swappy]` - Take a screenshot of the region, window, or monitor. Optionally, use `swappy` to copy the screenshot to the clipboard.
+{ pkgs, ... }:
+let
+ screenshot = pkgs.writeShellScriptBin "screenshot" ''
+ if [[ $2 == "swappy" ]];then
+ folder="/tmp"
+ else
+ folder="$HOME/Pictures"
+ fi
+ filename="$(date +%Y-%m-%d_%H:%M:%S).png"
+
+ if [[ $1 == "window" ]];then
+ mode="active"
+ elif [[ $1 == "region" ]];then
+ mode="area"
+ elif [[ $1 == "monitor" ]];then
+ mode="output"
+ fi
+
+ ${pkgs.grimblast}/bin/grimblast --notify --freeze save $mode "$folder/$filename" || exit 1
+
+ if [[ $2 == "swappy" ]];then
+ ${pkgs.swappy}/bin/swappy -f "$folder/$filename" -o "$HOME/Pictures/$filename"
+ exit 0
+ fi
+ '';
+in
+{
+ home.packages = [
+ pkgs.hyprshot
+ screenshot
+ pkgs.slurp
+ pkgs.grim
+ pkgs.grimblast
+ ];
+}
diff --git a/hosts/candlekeep/configuration.nix b/hosts/candlekeep/configuration.nix
index 5fd269e..535b931 100644
--- a/hosts/candlekeep/configuration.nix
+++ b/hosts/candlekeep/configuration.nix
@@ -8,7 +8,8 @@
user,
pkgs,
...
-}: {
+}:
+{
# You can import other NixOS modules here
imports = [
# If you want to use modules your own flake exports (from modules/nixos):
@@ -16,7 +17,9 @@
../../common/nixos/common.nix
../../common/gui/hyprland.nix
../../common/style/stylix.nix
+ # ../../common/style/vars/candlekeep.nix
../../common/nixos/sysctl
+ # ../../common/nixos/tuigreet.nix
../../common/networking
../../common/nixos
@@ -53,7 +56,8 @@
systemd-boot.enable = true;
efi.canTouchEfiVariables = true;
};
- initrd.luks.devices."luks-b13379b3-2025-4d55-a40a-c0f3ad8ec801".device = "/dev/disk/by-uuid/b13379b3-2025-4d55-a40a-c0f3ad8ec801";
+ initrd.luks.devices."luks-1dbfdeb6-8537-41b2-abf0-09373af3eeee".device =
+ "/dev/disk/by-uuid/1dbfdeb6-8537-41b2-abf0-09373af3eeee";
};
# sops
@@ -90,19 +94,17 @@
# This will add each flake input as a registry
# To make nix3 commands consistent with your flake
- nix.registry = (lib.mapAttrs (_: flake: {inherit flake;})) (
+ nix.registry = (lib.mapAttrs (_: flake: { inherit flake; })) (
(lib.filterAttrs (_: lib.isType "flake")) inputs
);
# This will additionally add your inputs to the system's legacy channels
# Making legacy nix commands consistent as well, awesome!
- nix.nixPath = ["/etc/nix/path"];
- environment.etc =
- lib.mapAttrs' (name: value: {
- name = "nix/path/${name}";
- value.source = value.flake;
- })
- config.nix.registry;
+ nix.nixPath = [ "/etc/nix/path" ];
+ environment.etc = lib.mapAttrs' (name: value: {
+ name = "nix/path/${name}";
+ value.source = value.flake;
+ }) config.nix.registry;
networking.hostName = "candlekeep";
# networking.networkmanager.enable = true;
@@ -114,7 +116,7 @@
openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILq54YrM3BbhBs0oDLOrc1bkg6FCCmkV4E3pWLZp0ejN gwg313@pm.me"
];
- extraGroups = ["wheel"];
+ extraGroups = [ "wheel" ];
};
};
@@ -129,6 +131,7 @@
EDITOR = "nvim";
VISUAL = "nvim";
PAGER = "moar";
+ PASSWORD_STORE_DIR = "$HOME/.local/share/password-store";
};
};
# https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion
diff --git a/hosts/candlekeep/hardware-configuration.nix b/hosts/candlekeep/hardware-configuration.nix
index d3a9ad6..ab60837 100644
--- a/hosts/candlekeep/hardware-configuration.nix
+++ b/hosts/candlekeep/hardware-configuration.nix
@@ -26,19 +26,23 @@
boot.extraModulePackages = [ ];
fileSystems."/" = {
- device = "/dev/disk/by-uuid/f2c87d99-ea17-4ef3-9ef6-bcc6637357f2";
+ device = "/dev/disk/by-uuid/c79b630a-d130-42ed-8cdc-3f8545fe2993";
fsType = "ext4";
};
- boot.initrd.luks.devices."luks-58623f70-2e6b-4ee0-8d14-d2bf34c07daf".device = "/dev/disk/by-uuid/58623f70-2e6b-4ee0-8d14-d2bf34c07daf";
-
+ boot.initrd.luks.devices."luks-96e3b309-ca79-4b42-aca5-3f098b123758".device =
+ "/dev/disk/by-uuid/96e3b309-ca79-4b42-aca5-3f098b123758";
fileSystems."/boot" = {
- device = "/dev/disk/by-uuid/2394-0AAF";
+ device = "/dev/disk/by-uuid/1FBA-8B80";
fsType = "vfat";
- };
+ options = [
+ "fmask=0077"
+ "dmask=0077"
+ ];
+ };
swapDevices = [
- { device = "/dev/disk/by-uuid/dd8d717a-d872-4780-af3c-af4c702b587a"; }
+ { device = "/dev/disk/by-uuid/17eec89e-2381-4a25-8935-63cbcc67d07c"; }
];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
diff --git a/hosts/grymforge/configuration.nix b/hosts/grymforge/configuration.nix
index fcff151..ce7b4a5 100644
--- a/hosts/grymforge/configuration.nix
+++ b/hosts/grymforge/configuration.nix
@@ -8,7 +8,8 @@
pkgs,
user,
...
-}: {
+}:
+{
# You can import other NixOS modules here
imports = [
# If you want to use modules your own flake exports (from modules/nixos):
@@ -56,7 +57,8 @@
systemd-boot.enable = true;
efi.canTouchEfiVariables = true;
};
- initrd.luks.devices."luks-276bd2e3-9d6d-4df6-9155-3684907b48f0".device = "/dev/disk/by-uuid/276bd2e3-9d6d-4df6-9155-3684907b48f0";
+ initrd.luks.devices."luks-276bd2e3-9d6d-4df6-9155-3684907b48f0".device =
+ "/dev/disk/by-uuid/276bd2e3-9d6d-4df6-9155-3684907b48f0";
};
# sops
@@ -93,19 +95,17 @@
# This will add each flake input as a registry
# To make nix3 commands consistent with your flake
- nix.registry = (lib.mapAttrs (_: flake: {inherit flake;})) (
+ nix.registry = (lib.mapAttrs (_: flake: { inherit flake; })) (
(lib.filterAttrs (_: lib.isType "flake")) inputs
);
# This will additionally add your inputs to the system's legacy channels
# Making legacy nix commands consistent as well, awesome!
- nix.nixPath = ["/etc/nix/path"];
- environment.etc =
- lib.mapAttrs' (name: value: {
- name = "nix/path/${name}";
- value.source = value.flake;
- })
- config.nix.registry;
+ nix.nixPath = [ "/etc/nix/path" ];
+ environment.etc = lib.mapAttrs' (name: value: {
+ name = "nix/path/${name}";
+ value.source = value.flake;
+ }) config.nix.registry;
networking.hostName = "grymforge";
networking.networkmanager.enable = true;
@@ -117,16 +117,16 @@
openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILq54YrM3BbhBs0oDLOrc1bkg6FCCmkV4E3pWLZp0ejN gwg313@pm.me"
];
- extraGroups = ["wheel"];
+ extraGroups = [ "wheel" ];
};
};
environment = {
- loginShellInit = ''
- if [ -z $DISPLAY ] && [ "$(tty)" = "/dev/tty1" ]; then
- exec Hyprland
- fi
- ''; # Will automatically open Hyprland when logged into tty1
+ # loginShellInit = ''
+ # # if [ -z $DISPLAY ] && [ "$(tty)" = "/dev/tty1" ]; then
+ # # exec Hyprland
+ # # fi
+ # ''; # Will automatically open Hyprland when logged into tty1
variables = {
TERMINAL = "alacritty";
EDITOR = "nvim";
diff --git a/secrets/secrets.yaml b/secrets/secrets.yaml
index 75e6ca6..fccb754 100644
--- a/secrets/secrets.yaml
+++ b/secrets/secrets.yaml
@@ -1,6 +1,5 @@
restic_key: ENC[AES256_GCM,data:DzpWvFP5gyhrnLVIYgu9ouotWqkOAHehihSKf/TqJE+sHTD4vnIScfhzoKzdkoDoWfkcmQ==,iv:q83qNYuP/3mngvg+kUfOVToogL8VTvZ6HiGIztpnP/s=,tag:YNWwbma0HmPKqYCS1L5kQQ==,type:str]
wireless.env: ENC[AES256_GCM,data:/5i0Kv+VFTtVpaD7tfO2ahePu20eYkUYAqoh39PA2aoMWywLddQEQy4arj2Nvcw8hsRk760Kiq4wz3c23dPDqy7rU980NF2RaP4ODMIiQISfYeQP9coD84JhlnSTW+7EkhV520naqJgIYY0IsA8OxR/5euyFMHOL75FKnBh1ILY2DPSsJNG2m2ldw+US7E+7r4REl8tDqKfCIL5tznmbVTbPrer7cwrXe+ScFaholmqSntaB06yIIO3yr88TmE6EXF6oLCXU,iv:DPOqx7M7E83+DYjGFPZy44cxrta/3953IDjXL40rLAc=,tag:KmYBpQKgshMSgxnC96T1bQ==,type:str]
-home_uuid: ENC[AES256_GCM,data:VX92mQuoYXpPxe6EzQ==,iv:3i7Ll7rITrOTYMKK4tHy+IU5DVWFbFjrFHQ3uw3Gr7g=,tag:0bp/XaR4JOdFYpSVtpxm5A==,type:str]
sops:
kms: []
gcp_kms: []
@@ -16,8 +15,8 @@ sops:
US9oa0pORXRVWWlyYlZZTGhXdTdOaWsKClqIK/YNJIIGFqOO0t4oni8dRTTXQniG
ioIwAOdEgE/n0vcYhHXxLxWlTeqGZF076g7EFfIqiSNqrDtacRnazg==
-----END AGE ENCRYPTED FILE-----
- lastmodified: "2024-10-03T04:35:54Z"
- mac: ENC[AES256_GCM,data:6h43edjI9ouW2vbTcydrvbrqDb7GmMVgXBUk8nHyd0mV5QzR0ZeGzl+WXN5cwTRqwahAMsFax6riWyCFyMAEHIC66ucQhhPKH90vsKpm7/Nh037lbIfbYnqVG5PTdRzLo0zELkNmB5NX7j0amgynEX3xm1ipcWPGowTQiVjkQ98=,iv:zsVRb2ahPZ27hOkdhjmDl3px0wBri+xIwSvya2Kg8Hg=,tag:qrDuyDrIfccOnvqekiNnWA==,type:str]
+ lastmodified: "2024-12-16T02:59:51Z"
+ mac: ENC[AES256_GCM,data:E8dmBkTvRlVGqPuHLciY4pXyvRqJU8uJo1pjmKaTnKc5s5O/k+bSRcG4XKsD+TLAEqSIE0zQlvTknV+yvc37VNYuxYx0g5KsDzW1zHwzQ2G+87dLSo4V6cCvo+ySdZNTCumal1lKAXGXuWxul34K3U5YG72YPnQpU8WXMQ/y5sk=,iv:uER87eu8mXu5YMGINGtBqeJbULyOdErJvbCASNrqe58=,tag:0bpnLA0Us0VLWA82oyJhxA==,type:str]
pgp: []
unencrypted_suffix: _unencrypted
- version: 3.9.0
+ version: 3.9.2
diff --git a/wallpapers/anime-girl.jpg b/wallpapers/anime-girl.jpg
new file mode 100644
index 0000000..e76753c
Binary files /dev/null and b/wallpapers/anime-girl.jpg differ
diff --git a/wallpapers/forrest.png b/wallpapers/forrest.png
new file mode 100644
index 0000000..f8c6dca
Binary files /dev/null and b/wallpapers/forrest.png differ
diff --git a/wallpapers/virtual-youtuber-anime-girl.jpg b/wallpapers/virtual-youtuber-anime-girl.jpg
new file mode 100644
index 0000000..399ea03
Binary files /dev/null and b/wallpapers/virtual-youtuber-anime-girl.jpg differ