Compare commits
301 Commits
709a2c24a6
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| f731b09c9b | |||
| 681d580834 | |||
| c16f619732 | |||
| 8b704ca9f7 | |||
| bf87002d91 | |||
| 3a33b46f52 | |||
| a7fc2ee976 | |||
| c8f3ce3768 | |||
| abaca53989 | |||
| 1151945f18 | |||
| b4bf8b0093 | |||
| 71386af8da | |||
| 2700cd34a5 | |||
| 22f37bfba9 | |||
| b71546481c | |||
| d1dd875ea8 | |||
| 970d45a75c | |||
| b35cac26b1 | |||
| ff9ee23ee0 | |||
| 8fff664b55 | |||
| d0159eecdf | |||
| 5e43ddadaa | |||
| 985b5ce8e4 | |||
| 79bd87da9a | |||
| f17fce3866 | |||
| 514aa05d05 | |||
| 3f0d7c3806 | |||
| abbcf54489 | |||
| fe5e30596b | |||
| 11dc4b4490 | |||
| ac59282517 | |||
| 8661fdfad5 | |||
| 14d3ae83dd | |||
| 81aae9ac71 | |||
| 18a57c160b | |||
| b5c985ad08 | |||
| 7c089142bc | |||
| 4f23e5e540 | |||
| bdeb797391 | |||
| 02004ea3d0 | |||
| a2f8af6802 | |||
| 60cfe95bda | |||
| 80ea189629 | |||
| 9cf0f7a230 | |||
| acc61a7228 | |||
| 7cd3810565 | |||
| 03056d2f70 | |||
| 7a2abdb6e6 | |||
| 223723d018 | |||
| 6e7f3a5d95 | |||
| 5bb9a90538 | |||
| f44d248da3 | |||
| 577436b45c | |||
| b8892ed62c | |||
| f123f301f6 | |||
| b52d3b3904 | |||
| f2f386c021 | |||
| cd44bb5c93 | |||
| 99878eef4e | |||
| 149519399e | |||
| 72179ba9ed | |||
| 3aeaa1eb72 | |||
| 28c9d241b7 | |||
| c107f00dd9 | |||
| a100df6827 | |||
| 4d522d6b34 | |||
| 942aa6a08f | |||
| 2f24f34fad | |||
| 680d1b5014 | |||
| 66f2bc265a | |||
| 9eecf8dd33 | |||
| ea0c93c27c | |||
| 1f1874f3d8 | |||
| 4c720b7341 | |||
| 3497d430db | |||
| ded59b96a0 | |||
| ad60805ef3 | |||
| d7efbe459b | |||
| a348819906 | |||
| 236a245e11 | |||
| 15231fdc2c | |||
| 62e50610dd | |||
| 38aad253de | |||
| 8c077381e6 | |||
| a9e162ca29 | |||
| 914c83839a | |||
| f932e1df89 | |||
| 89e585b0ba | |||
| 2a1e72ec02 | |||
| 51efebc661 | |||
| 05082b23cc | |||
| 1b5af5d9e1 | |||
| 78522881ad | |||
| 4a9b4141d8 | |||
| 4a8ab57d91 | |||
| a7b3973e14 | |||
| 839b763ac8 | |||
| 1779e0f2f1 | |||
| d918eefd8e | |||
| be8d82cbc1 | |||
| ca34858d79 | |||
| 00489e0b65 | |||
| ab11d3afcf | |||
| 402e1351c8 | |||
| 3aeb4f763c | |||
| 255a72f0c6 | |||
| 7301b06df0 | |||
| f77b606463 | |||
| b18041558f | |||
| 65755ba208 | |||
| 3a0d2fb32a | |||
| f674fb4244 | |||
| 830e08314e | |||
| 5c79d887db | |||
| ee8109a578 | |||
| 9bc6a50799 | |||
| 950c3c93e1 | |||
| 169a89283a | |||
| e12fee69be | |||
| 2e205175e0 | |||
| 826b5834ad | |||
| c59237ba6a | |||
| 21aa4df148 | |||
| 49cb0fa388 | |||
| f66536fa65 | |||
| 80aa9866eb | |||
| 4195d45169 | |||
| 8b2dcdc255 | |||
| c6c6e163b6 | |||
| 6c84702908 | |||
| 5f7ea8218a | |||
| e95157acb8 | |||
| b4b1780e5c | |||
| 1f37bc474f | |||
| 3c73b9be9a | |||
| f14c2db34a | |||
| f996cdc518 | |||
| 511dfe18d1 | |||
| 1032bc1a8a | |||
| 5be123c258 | |||
| c34f19a9ad | |||
| 0550465b4e | |||
| 15e321df75 | |||
| d93fcf03bc | |||
| 4d9b7dc578 | |||
| d2890cdb0e | |||
| b3cd80e40d | |||
| 38d1b36c56 | |||
| 4acf430c11 | |||
| 11b6180c03 | |||
| 6459fa40de | |||
| ca4d0c6ce9 | |||
| 2e18a7cef8 | |||
| 1f29634174 | |||
| 07b49a8ea3 | |||
| 1669c21e69 | |||
| a9363a7c6a | |||
| 85baa243c2 | |||
| ecb5298ac9 | |||
| ea9e42843d | |||
| 9504aab38d | |||
| 7deef50f28 | |||
| e30d3aca0f | |||
| 09b31ff2a9 | |||
| 52203fb390 | |||
| c1038aeaf9 | |||
| bd73ab5ea2 | |||
| 47c13bf42f | |||
| 924e656e7c | |||
| a9bba6edb1 | |||
| 1995ed3b4c | |||
| 7072b991a4 | |||
| 156306f77a | |||
| 25004024ef | |||
| b75173e02a | |||
| 004e7244e5 | |||
| 05eff2d296 | |||
| 9368396927 | |||
| 6508c0af5c | |||
| 432746ab89 | |||
| 102207c4b2 | |||
| f7397c191e | |||
| 0b22548972 | |||
| dc90430ac9 | |||
| 5508140536 | |||
| 6014717d82 | |||
| 72061292be | |||
| eb804d950a | |||
| a11f7c7ed2 | |||
| 1aef145c74 | |||
| ded4f02ae2 | |||
| 12c31a6443 | |||
| 82ff663adc | |||
| 1c98437c50 | |||
| 693170f170 | |||
| 3cdef114eb | |||
| 98a97f2bd2 | |||
| b6d112514f | |||
| 6f045c7820 | |||
| e5338ce7e7 | |||
| 908fd78e3c | |||
| 00c6d3c0d2 | |||
| 42b6e81bbe | |||
| 4404a8da3b | |||
| fe69c7b3bd | |||
| 861b4ba82e | |||
| 5ddfbef79b | |||
| cb4f275043 | |||
| a04b534194 | |||
| 7966c798b0 | |||
| bcdba72e23 | |||
| ef2d572918 | |||
| 4fbc15d482 | |||
| 8dfc5a1691 | |||
| df5f893639 | |||
| a9c70b54ed | |||
| f22a7fcf21 | |||
| 74d0293047 | |||
| d6c1fe387d | |||
| 1dabb3688b | |||
| c8a3e09c98 | |||
| 57ed27b782 | |||
| 0325e39e77 | |||
| 90ae7f7660 | |||
| 99612fa060 | |||
| 823e50e122 | |||
| 5c56e790c5 | |||
| 8a3a2c3296 | |||
| 309e00caae | |||
| ad65da5344 | |||
| 4663f2c702 | |||
| 54f42f75bf | |||
| f282c9b067 | |||
| 93dcfe5361 | |||
| 5924efab66 | |||
| 5858f26273 | |||
| 91a1c2f265 | |||
| 02277ba080 | |||
| 1d643e1e27 | |||
| df11503237 | |||
| 82ac43a6b2 | |||
| adb3d38970 | |||
| 12c0cb0983 | |||
| a24e4bc933 | |||
| e849c6737b | |||
| 86b149de22 | |||
| e388ee79b6 | |||
| 211e83a64a | |||
| a3079990aa | |||
| db441a8151 | |||
| fd21e28d4f | |||
| e4e2b20fbc | |||
| 676cd4ef1c | |||
| a9ce7df11d | |||
| 046161444a | |||
| 7e2b63cf2f | |||
| dd19adbafb | |||
| ca9b76724d | |||
| c429081566 | |||
| d2f87fb26a | |||
| 5c6711ba46 | |||
| cddd8f43f2 | |||
| 098c3a4483 | |||
| 994569f12d | |||
| 87e02959d1 | |||
| a668492f9f | |||
| 1c2ce115a4 | |||
| 9805e3674f | |||
| 3d7dbec00f | |||
| 101d77182a | |||
| c8db211964 | |||
| 9fbed91f32 | |||
| 2e6c2c0bb2 | |||
| 5a07cefaac | |||
| e940b7bcd5 | |||
| 68565d5eb0 | |||
| 080ccb6066 | |||
| a6f776537f | |||
| 2ebc9f2670 | |||
| 2f03301125 | |||
| 4e440e59b9 | |||
| 73c0da3c7f | |||
| 30f85b0c8e | |||
| e9f2dd44fd | |||
| 28f0072084 | |||
| 743b6748df | |||
| 0b622f9f3e | |||
| 279d5329c2 | |||
| 992c3a3233 | |||
| 63bbb6b74a | |||
| b3ae1030f3 | |||
| 7b09deb45d | |||
| 326c52c3be | |||
| fa6aa344b5 | |||
| 49307e3671 | |||
| c5586a3aca | |||
| ad0b9de089 | |||
| c91e5e46e6 | |||
| 53f8ae9436 | |||
| 208646bb3d | |||
| a9a7a35e8c |
111
flake.lock
generated
111
flake.lock
generated
@@ -234,6 +234,20 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-compat_4": {
|
||||
"locked": {
|
||||
"lastModified": 1733328505,
|
||||
"narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=",
|
||||
"rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec",
|
||||
"revCount": 69,
|
||||
"type": "tarball",
|
||||
"url": "https://api.flakehub.com/f/pinned/edolstra/flake-compat/1.1.0/01948eb7-9cba-704f-bbf3-3fa956735b52/source.tar.gz"
|
||||
},
|
||||
"original": {
|
||||
"type": "tarball",
|
||||
"url": "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz"
|
||||
}
|
||||
},
|
||||
"flake-parts": {
|
||||
"inputs": {
|
||||
"nixpkgs-lib": "nixpkgs-lib"
|
||||
@@ -252,6 +266,24 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-parts_2": {
|
||||
"inputs": {
|
||||
"nixpkgs-lib": "nixpkgs-lib_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1765835352,
|
||||
"narHash": "sha256-XswHlK/Qtjasvhd1nOa1e8MgZ8GS//jBoTqWtrS1Giw=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "a34fae9c08a15ad73f295041fec82323541400a9",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"gitignore": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
@@ -653,6 +685,26 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixcord": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat_4",
|
||||
"flake-parts": "flake-parts_2",
|
||||
"nixpkgs": "nixpkgs_6"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1767660167,
|
||||
"narHash": "sha256-g6buDZWOlKB1iWnFHIXiokRalDOXI7Ha0urMIOwCCow=",
|
||||
"owner": "kaylorben",
|
||||
"repo": "nixcord",
|
||||
"rev": "166863303743fc0f07026bbcd5d6be2d7850ddcf",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "kaylorben",
|
||||
"repo": "nixcord",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1744536153,
|
||||
@@ -684,6 +736,37 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-lib_2": {
|
||||
"locked": {
|
||||
"lastModified": 1765674936,
|
||||
"narHash": "sha256-k00uTP4JNfmejrCLJOwdObYC9jHRrr/5M/a/8L2EIdo=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nixpkgs.lib",
|
||||
"rev": "2075416fcb47225d9b68ac469a5c4801a9c4dd85",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "nixpkgs.lib",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-unstable": {
|
||||
"locked": {
|
||||
"lastModified": 1767767207,
|
||||
"narHash": "sha256-Mj3d3PfwltLmukFal5i3fFt27L6NiKXdBezC1EBuZs4=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "5912c1772a44e31bf1c63c0390b90501e5026886",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1767047869,
|
||||
@@ -749,6 +832,22 @@
|
||||
}
|
||||
},
|
||||
"nixpkgs_6": {
|
||||
"locked": {
|
||||
"lastModified": 1766885793,
|
||||
"narHash": "sha256-P6RVkrM9JLCW6xBjSwHfgTOQ1JwBUma5xe5LI8xAPC0=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "9ef261221d1e72399f2036786498d78c38185c46",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-25.11",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_7": {
|
||||
"locked": {
|
||||
"lastModified": 1767081933,
|
||||
"narHash": "sha256-aFw7KQeFeAZ8Nz0uzHtpR3nykKxcDs7UxS5+Vknq0O4=",
|
||||
@@ -764,7 +863,7 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_7": {
|
||||
"nixpkgs_8": {
|
||||
"locked": {
|
||||
"lastModified": 1767047869,
|
||||
"narHash": "sha256-tzYsEzXEVa7op1LTnrLSiPGrcCY6948iD0EcNLWcmzo=",
|
||||
@@ -780,7 +879,7 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_8": {
|
||||
"nixpkgs_9": {
|
||||
"locked": {
|
||||
"lastModified": 1766651565,
|
||||
"narHash": "sha256-QEhk0eXgyIqTpJ/ehZKg9IKS7EtlWxF3N7DXy42zPfU=",
|
||||
@@ -798,7 +897,7 @@
|
||||
},
|
||||
"openlinkhub": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs_7"
|
||||
"nixpkgs": "nixpkgs_8"
|
||||
},
|
||||
"locked": {
|
||||
"path": "./services/openlinkhub",
|
||||
@@ -866,7 +965,9 @@
|
||||
"hyprland": "hyprland",
|
||||
"nix-cachyos-kernel": "nix-cachyos-kernel",
|
||||
"nix-flatpak": "nix-flatpak",
|
||||
"nixpkgs": "nixpkgs_6",
|
||||
"nixcord": "nixcord",
|
||||
"nixpkgs": "nixpkgs_7",
|
||||
"nixpkgs-unstable": "nixpkgs-unstable",
|
||||
"openlinkhub": "openlinkhub",
|
||||
"spicetify-nix": "spicetify-nix",
|
||||
"zen-browser": "zen-browser"
|
||||
@@ -892,7 +993,7 @@
|
||||
},
|
||||
"spicetify-nix": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs_8",
|
||||
"nixpkgs": "nixpkgs_9",
|
||||
"systems": "systems_2"
|
||||
},
|
||||
"locked": {
|
||||
|
||||
13
flake.nix
13
flake.nix
@@ -3,6 +3,9 @@
|
||||
|
||||
inputs = {
|
||||
nixpkgs.url = "github:nixos/nixpkgs/release-25.11";
|
||||
nixpkgs-unstable = {
|
||||
url = "github:nixos/nixpkgs/nixos-unstable";
|
||||
};
|
||||
home-manager = {
|
||||
url = "github:nix-community/home-manager/release-25.11";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
@@ -31,15 +34,17 @@
|
||||
url = "github:ezKEa/aagl-gtk-on-nix/release-25.11";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
nixcord = {
|
||||
url = "github:kaylorben/nixcord";
|
||||
};
|
||||
};
|
||||
|
||||
outputs = {
|
||||
self,
|
||||
nixpkgs,
|
||||
home-manager,
|
||||
hyprland,
|
||||
nix-flatpak,
|
||||
catppuccin,
|
||||
nixcord,
|
||||
...
|
||||
} @inputs:
|
||||
let
|
||||
@@ -50,7 +55,7 @@
|
||||
system = "x86_64-linux";
|
||||
in
|
||||
{
|
||||
nixosConfigurations.lillypc = nixpkgs.lib.nixosSystem {
|
||||
nixosConfigurations.${host} = nixpkgs.lib.nixosSystem {
|
||||
inherit system;
|
||||
specialArgs = {
|
||||
inherit inputs host username prettyUsername;
|
||||
@@ -73,6 +78,7 @@
|
||||
imports = [
|
||||
./home
|
||||
catppuccin.homeModules.catppuccin
|
||||
nixcord.homeModules.nixcord
|
||||
];
|
||||
home = {
|
||||
username = "${username}";
|
||||
@@ -86,4 +92,3 @@
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -12,6 +12,7 @@ in
|
||||
flavor = "${variant}";
|
||||
vscode.profiles.default.enable = false;
|
||||
cursors.enable = true;
|
||||
thunderbird.profile = "default";
|
||||
};
|
||||
|
||||
gtk = {
|
||||
@@ -28,4 +29,4 @@ in
|
||||
style.name = "kvantum";
|
||||
};
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,4 +10,4 @@ in
|
||||
};
|
||||
home.packages = [ pkgs.gcr ]; # Provides org.gnome.keyring.SystemPrompter
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,9 +6,9 @@ in
|
||||
wayland.windowManager.hyprland = lib.mkIf (cfg.enable && cfg.hyprland.enable) {
|
||||
settings = {
|
||||
exec-once = [
|
||||
"sleep 2; uwsm-app -- vesktop-portable"
|
||||
"sleep 2; uwsm-app -- equibop"
|
||||
# todo openrgb
|
||||
"sleep 5; uwsm-app -- spotify"
|
||||
"sleep 10; uwsm-app -- spotify"
|
||||
# "uwsm-app -- dms run"
|
||||
"sleep 5; uwsm-app -- Artemis.UI.Linux --minimized"
|
||||
"sleep 10; bash /home/lilly/Scripts/rgb-on.sh"
|
||||
|
||||
@@ -23,16 +23,19 @@ in
|
||||
# precise_mouse_move = true;
|
||||
};
|
||||
|
||||
render = {
|
||||
cm_enabled = true;
|
||||
cm_fs_passthrough = 2;
|
||||
direct_scanout = 2;
|
||||
cm_auto_hdr = 1;
|
||||
};
|
||||
source = [
|
||||
"hdr.conf"
|
||||
];
|
||||
# render = {
|
||||
# cm_enabled = true;
|
||||
# cm_fs_passthrough = 2;
|
||||
# direct_scanout = 2;
|
||||
# cm_auto_hdr = 1;
|
||||
# };
|
||||
|
||||
quirks = {
|
||||
prefer_hdr = 2;
|
||||
};
|
||||
# quirks = {
|
||||
# prefer_hdr = 1;
|
||||
# };
|
||||
|
||||
debug = {
|
||||
disable_logs = false;
|
||||
@@ -43,4 +46,4 @@ in
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,7 +6,7 @@ in
|
||||
wayland.windowManager.hyprland = lib.mkIf (cfg.enable && cfg.hyprland.enable) {
|
||||
settings = {
|
||||
"$games" = "^(steam_app_.*|gamescope|starrail.exe|.*\.exe)$";
|
||||
"$launch_on_second_monitor" = "^(vesktop|spotify)$";
|
||||
"$launch_on_second_monitor" = "^(vesktop|spotify|equibop)$";
|
||||
"$utility_workspace" = 10;
|
||||
|
||||
windowrule = [
|
||||
|
||||
@@ -1,9 +1,6 @@
|
||||
{ pkgs, nixosConfig, lib, ... }: {
|
||||
{ nixosConfig, lib, ... }: {
|
||||
programs.kitty = lib.mkIf nixosConfig.my.desktop.enable {
|
||||
enable = true;
|
||||
|
||||
# Upstream test failures resolved; use default kitty package (>= 0.44).
|
||||
package = pkgs.kitty;
|
||||
settings = {
|
||||
font_family = "Maple Mono NF";
|
||||
font_size = 11;
|
||||
|
||||
111
home/desktop/nixcord.nix
Normal file
111
home/desktop/nixcord.nix
Normal file
@@ -0,0 +1,111 @@
|
||||
|
||||
{ nixosConfig, lib, ... }:
|
||||
let
|
||||
cfg = nixosConfig.my.desktop.nixcord;
|
||||
in
|
||||
{
|
||||
config = lib.mkIf cfg.enable {
|
||||
programs.nixcord = {
|
||||
enable = true; # Enable Nixcord (It also installs Discord)
|
||||
discord = {
|
||||
vencord.enable = false; # Use Vencord (default)
|
||||
equicord.enable = true; # Or use Equicord instead (cannot enable both)
|
||||
};
|
||||
vesktop.enable = false; # Vesktop
|
||||
equibop = {
|
||||
enable = true;
|
||||
}; # Equibop
|
||||
dorion.enable = false; # Dorion
|
||||
quickCss = "@import url(\"https://catppuccin.github.io/discord/dist/catppuccin-mocha-mauve.theme.css\");"; # quickCSS file
|
||||
config = {
|
||||
useQuickCss = true; # use out quickCSS
|
||||
frameless = true; # Set some Vencord/Equicord options
|
||||
};
|
||||
equibopConfig = {
|
||||
plugins = {
|
||||
AlwaysTrust.enabled = true;
|
||||
BetterSessions.enabled = true;
|
||||
BetterSettings.enabled = true;
|
||||
BiggerStreamPreview.enabled = true;
|
||||
CallTimer.enabled = true;
|
||||
ClearURLs.enabled = true;
|
||||
CopyEmojiMarkdown.enabled = true;
|
||||
CopyFileContents.enabled = true;
|
||||
CopyUserURLs.enabled = true;
|
||||
CrashHandler.enabled = true;
|
||||
CustomIdle = {
|
||||
enabled = true;
|
||||
idleTimeout = 0;
|
||||
remainInIdle = false;
|
||||
};
|
||||
Dearrow.enabled = true;
|
||||
DisableCallIdle.enabled = true;
|
||||
ExpressionCloner.enabled = true;
|
||||
FavoriteEmojiFirst.enabled = true;
|
||||
FixSpotifyEmbeds.enabled = true;
|
||||
FixYoutubeEmbeds.enabled = true;
|
||||
FullSearchContext.enabled = true;
|
||||
GameActivityToggle.enabled = true;
|
||||
GifPaste.enabled = true;
|
||||
ImageZoom.enabled = true;
|
||||
LoadingQuotes.enabled = true;
|
||||
MemberCount.enabled = true;
|
||||
MentionAvatars.enabled = true;
|
||||
MessageLinkEmbeds.enabled = true;
|
||||
MessageLogger = {
|
||||
enabled = true;
|
||||
inlineEdits = false;
|
||||
};
|
||||
NewGuildSettings.enabled = true;
|
||||
NoF1.enabled = true;
|
||||
NoOnboardingDelay.enabled = true;
|
||||
NormalizeMessageLinks.enabled = true;
|
||||
NoUnblockToJump.enabled = true;
|
||||
OnePingPerDm.enabled = true;
|
||||
OpenInApp.enabled = true;
|
||||
PetPet.enabled = true;
|
||||
ReadAllNotificationsButton.enabled = true;
|
||||
RelationshipNotifier.enabled = true;
|
||||
ReverseImageSearch.enabled = true;
|
||||
ServerInfo.enabled = true;
|
||||
ServerListIndicators.enabled = false;
|
||||
ShowHiddenChannels.enabled = true;
|
||||
ShowHiddenThings.enabled = true;
|
||||
MusicControls = {
|
||||
enabled = true;
|
||||
showSpotifyControls = true;
|
||||
};
|
||||
ThemeAttributes.enabled = true;
|
||||
TypingIndicator.enabled = true;
|
||||
TypingTweaks.enabled = true;
|
||||
UnlockedAvatarZoom.enabled = true;
|
||||
UnsuppressEmbeds.enabled = true;
|
||||
UserVoiceShow.enabled = true;
|
||||
ValidUser.enabled = true;
|
||||
ViewIcons.enabled = true;
|
||||
ViewRaw.enabled = true;
|
||||
VoiceChatDoubleClick.enabled = true;
|
||||
VoiceDownload.enabled = true;
|
||||
VoiceMessages.enabled = true;
|
||||
WebKeybinds.enabled = true;
|
||||
WebScreenShareFixes.enabled = true;
|
||||
WhoReacted.enabled = true;
|
||||
YoutubeAdblock.enabled = true;
|
||||
DisableDeepLinks.enabled = true;
|
||||
NoTrack.enabled = true;
|
||||
Settings.enabled = true;
|
||||
SupportHelper.enabled = true;
|
||||
WebContextMenus.enabled = true;
|
||||
"WebRichPresence (arRPC)".enabled = true;
|
||||
KeyboardSounds = {
|
||||
enabled = false;
|
||||
soundPack = "operagxnoch ";
|
||||
};
|
||||
HomeTyping.enabled = true;
|
||||
};
|
||||
};
|
||||
extraConfig = {
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,38 +1,37 @@
|
||||
# { inputs, pkgs, nixosConfig, lib, ... }:
|
||||
# let
|
||||
# cfg = nixosConfig.my.desktop.spicetify;
|
||||
# in
|
||||
# {
|
||||
# imports = [
|
||||
# inputs.spicetify-nix.homeManagerModules.default
|
||||
# ];
|
||||
# config = lib.mkIf cfg.enable {
|
||||
# programs.spicetify =
|
||||
# let
|
||||
# spicePkgs = inputs.spicetify-nix.legacyPackages.${pkgs.stdenv.hostPlatform.system};
|
||||
# in
|
||||
# {
|
||||
# enable = true;
|
||||
{ inputs, pkgs, nixosConfig, lib, ... }:
|
||||
let
|
||||
cfg = nixosConfig.my.desktop.spicetify;
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
inputs.spicetify-nix.homeManagerModules.default
|
||||
];
|
||||
config = lib.mkIf cfg.enable {
|
||||
programs.spicetify =
|
||||
let
|
||||
spicePkgs = inputs.spicetify-nix.legacyPackages.${pkgs.stdenv.hostPlatform.system};
|
||||
in
|
||||
{
|
||||
enable = true;
|
||||
|
||||
# enabledExtensions = with spicePkgs.extensions; [
|
||||
# hidePodcasts
|
||||
# shuffle # shuffle+ (special characters are sanitized out of extension names)
|
||||
# betterGenres
|
||||
# lastfm
|
||||
# adblock
|
||||
# beautifulLyrics
|
||||
# aiBandBlocker
|
||||
# ];
|
||||
# enabledCustomApps = with spicePkgs.apps; [
|
||||
# betterLibrary
|
||||
# newReleases
|
||||
# ];
|
||||
# enabledSnippets = with spicePkgs.snippets; [
|
||||
# pointer
|
||||
# ];
|
||||
# theme = spicePkgs.themes.catppuccin;
|
||||
# colorScheme = "mocha";
|
||||
# };
|
||||
# };
|
||||
# }
|
||||
{}
|
||||
enabledExtensions = with spicePkgs.extensions; [
|
||||
hidePodcasts
|
||||
shuffle # shuffle+ (special characters are sanitized out of extension names)
|
||||
betterGenres
|
||||
lastfm
|
||||
adblock
|
||||
beautifulLyrics
|
||||
aiBandBlocker
|
||||
];
|
||||
enabledCustomApps = with spicePkgs.apps; [
|
||||
betterLibrary
|
||||
newReleases
|
||||
];
|
||||
enabledSnippets = with spicePkgs.snippets; [
|
||||
pointer
|
||||
];
|
||||
theme = spicePkgs.themes.catppuccin;
|
||||
colorScheme = "mocha";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
11
home/desktop/thunderbird.nix
Normal file
11
home/desktop/thunderbird.nix
Normal file
@@ -0,0 +1,11 @@
|
||||
{ nixosConfig, lib, ... }:
|
||||
{
|
||||
programs.thunderbird = lib.mkIf nixosConfig.my.desktop.enable {
|
||||
enable = true;
|
||||
profiles = {
|
||||
default = {
|
||||
isDefault = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,109 +0,0 @@
|
||||
{ nixosConfig, lib, pkgs, username, ... }:
|
||||
let
|
||||
cfg = nixosConfig.my.desktop.vesktop;
|
||||
in
|
||||
{
|
||||
config = lib.mkIf cfg.enable {
|
||||
home.packages = [
|
||||
(pkgs.writeShellScriptBin "vesktop-portable" ''
|
||||
exec /home/${username}/vesktop/vesktop --ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime=true --enable-blink-features=MiddleClickAutoscroll "$@"
|
||||
'')
|
||||
];
|
||||
xdg.desktopEntries.vesktop = {
|
||||
name = "Vesktop";
|
||||
genericName = "Discord Client";
|
||||
exec = "vesktop-portable %U";
|
||||
icon = "vesktop";
|
||||
terminal = false;
|
||||
categories = [ "Network" "InstantMessaging" "Chat" ];
|
||||
};
|
||||
|
||||
programs.vesktop = {
|
||||
enable = true;
|
||||
package = pkgs.vesktop.override {
|
||||
withMiddleClickScroll = true;
|
||||
};
|
||||
settings = {
|
||||
arRPC = true;
|
||||
tray = true;
|
||||
minimizeToTray = true;
|
||||
};
|
||||
vencord = {
|
||||
settings = {
|
||||
plugins = {
|
||||
AlwaysTrust.enabled = true;
|
||||
BetterSessions.enabled = true;
|
||||
BetterSettings.enabled = true;
|
||||
BiggerStreamPreview.enabled = true;
|
||||
CallTimer.enabled = true;
|
||||
ClearURLs.enabled = true;
|
||||
CopyEmojiMarkdown.enabled = true;
|
||||
CopyFileContents.enabled = true;
|
||||
CopyUserURLs.enabled = true;
|
||||
CrashHandler.enabled = true;
|
||||
CustomIdle = {
|
||||
enabled = true;
|
||||
idleTimeout = 0;
|
||||
remainInIdle = false;
|
||||
};
|
||||
Dearrow.enabled = true;
|
||||
DisableCallIdle.enabled = true;
|
||||
ExpressionCloner.enabled = true;
|
||||
FavoriteEmojiFirst.enabled = true;
|
||||
FixSpotifyEmbeds.enabled = true;
|
||||
FixYoutubeEmbeds.enabled = true;
|
||||
FullSearchContext.enabled = true;
|
||||
GameActivityToggle.enabled = true;
|
||||
GifPaste.enabled = true;
|
||||
ImageZoom.enabled = true;
|
||||
LoadingQuotes.enabled = true;
|
||||
MemberCount.enabled = true;
|
||||
MentionAvatars.enabled = true;
|
||||
MessageLinkEmbeds.enabled = true;
|
||||
MessageLogger = {
|
||||
enabled = true;
|
||||
inlineEdits = false;
|
||||
};
|
||||
NewGuildSettings.enabled = true;
|
||||
NoF1.enabled = true;
|
||||
NoOnboardingDelay.enabled = true;
|
||||
NormalizeMessageLinks.enabled = true;
|
||||
NoUnblockToJump.enabled = true;
|
||||
OnePingPerDm.enabled = true;
|
||||
OpenInApp.enabled = true;
|
||||
petpet.enabled = true;
|
||||
ReadAllNotificationsButton.enabled = true;
|
||||
RelationshipNotifier.enabled = true;
|
||||
ReverseImageSearch.enabled = true;
|
||||
ServerInfo.enabled = true;
|
||||
ServerListIndicators.enabled = false;
|
||||
ShowHiddenChannels.enabled = true;
|
||||
ShowHiddenThings.enabled = true;
|
||||
SpotifyControls.enabled = true;
|
||||
ThemeAttributes.enabled = true;
|
||||
TypingIndicator.enabled = true;
|
||||
TypingTweaks.enabled = true;
|
||||
UnlockedAvatarZoom.enabled = true;
|
||||
UnsuppressEmbeds.enabled = true;
|
||||
UserVoiceShow.enabled = true;
|
||||
ValidUser.enabled = true;
|
||||
ViewIcons.enabled = true;
|
||||
ViewRaw.enabled = true;
|
||||
VoiceChatDoubleClick.enabled = true;
|
||||
VoiceDownload.enabled = true;
|
||||
VoiceMessages.enabled = true;
|
||||
WebKeybinds.enabled = true;
|
||||
WebScreenShareFixes.enabled = true;
|
||||
WhoReacted.enabled = true;
|
||||
YoutubeAdblock.enabled = true;
|
||||
DisableDeepLinks.enabled = true;
|
||||
NoTrack.enabled = true;
|
||||
Settings.enabled = true;
|
||||
SupportHelper.enabled = true;
|
||||
WebContextMenus.enabled = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -2,7 +2,8 @@
|
||||
programs.fish = lib.mkIf nixosConfig.my.desktop.enable {
|
||||
enable = true;
|
||||
shellAliases = {
|
||||
fr = "sudo nixos-rebuild switch --flake ~/LillyOS/#${host}";
|
||||
fr = "sudo nixos-rebuild switch --flake ~/LillyOS/#${host} --fallback";
|
||||
br = "sudo nixos-rebuild boot --flake ~/LillyOS/#${host} --fallback";
|
||||
};
|
||||
interactiveShellInit = ''
|
||||
set fish_greeting # Disable greeting
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
enable = true;
|
||||
enableZshIntegration = true;
|
||||
enableBashIntegration = true;
|
||||
enableFishIntegration = true;
|
||||
options = [
|
||||
"--cmd cd"
|
||||
];
|
||||
|
||||
@@ -5,14 +5,10 @@
|
||||
|
||||
desktop = {
|
||||
enable = true;
|
||||
sddm = {
|
||||
enable = true;
|
||||
autoLogin.enable = true;
|
||||
};
|
||||
hyprland.enable = true;
|
||||
flatpak.enable = true;
|
||||
spicetify.enable = true;
|
||||
vesktop.enable = true;
|
||||
nixcord.enable = true;
|
||||
gaming.enable = true;
|
||||
};
|
||||
|
||||
@@ -20,5 +16,4 @@
|
||||
openlinkhub.enable = true;
|
||||
rgb.enable = true;
|
||||
};
|
||||
virtualisation.docker.enable = true;
|
||||
}
|
||||
|
||||
@@ -131,4 +131,4 @@
|
||||
};
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
29
hosts/lillyserver/config.nix
Normal file
29
hosts/lillyserver/config.nix
Normal file
@@ -0,0 +1,29 @@
|
||||
{
|
||||
my = {
|
||||
|
||||
cachyosKernel.enable = false;
|
||||
|
||||
desktop = {
|
||||
enable = true;
|
||||
hyprland.enable = false;
|
||||
kdePlasma.enable = true;
|
||||
flatpak.enable = true;
|
||||
spicetify.enable = false;
|
||||
nixcord.enable = false;
|
||||
gaming.enable = true;
|
||||
};
|
||||
|
||||
nvidia.enable = true;
|
||||
openlinkhub.enable = false;
|
||||
rgb.enable = false;
|
||||
cockpit.enable = true;
|
||||
virtualisation.enable = true;
|
||||
amd = {
|
||||
boost.disable = true;
|
||||
performancePreference = "power";
|
||||
};
|
||||
gpu = {
|
||||
powersave = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
19
hosts/lillyserver/default.nix
Normal file
19
hosts/lillyserver/default.nix
Normal file
@@ -0,0 +1,19 @@
|
||||
{ lib, ... }:
|
||||
let
|
||||
b = builtins;
|
||||
|
||||
module_files =
|
||||
b.readDir ./. |>
|
||||
lib.filterAttrs (name: type:
|
||||
( (lib.strings.hasSuffix ".nix" name
|
||||
&& name != "default.nix"
|
||||
&& type == "regular" )
|
||||
|| ( type == "directory"
|
||||
&& b.pathExists ./${name}/default.nix))
|
||||
) |>
|
||||
b.attrNames |>
|
||||
b.map (f: ./${f});
|
||||
in
|
||||
{
|
||||
imports = module_files;
|
||||
}
|
||||
51
hosts/lillyserver/network.nix
Normal file
51
hosts/lillyserver/network.nix
Normal file
@@ -0,0 +1,51 @@
|
||||
{
|
||||
systemd.network = {
|
||||
|
||||
netdevs = {
|
||||
|
||||
iot = {
|
||||
netdevConfig = {
|
||||
Name = "iot";
|
||||
Kind = "vlan";
|
||||
};
|
||||
vlanConfig.Id = "2";
|
||||
};
|
||||
|
||||
macvtaphost = {
|
||||
netdevConfig = {
|
||||
Name = "macvtaphost";
|
||||
Kind = "macvtap";
|
||||
MACAddress = "18:C0:4D:04:DE:0B";
|
||||
};
|
||||
extraConfig = ''
|
||||
[MACVTAP]
|
||||
Mode=bridge
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
networks = {
|
||||
|
||||
physicalinterface = {
|
||||
matchConfig.PermanentMACAddress = "18:C0:4D:04:DE:0B";
|
||||
linkConfig.MACAddress = "18:C0:4D:04:DE:0C";
|
||||
macvtap = [ "macvtaphost" ];
|
||||
vlan = [ "iot" ];
|
||||
networkConfig.IPv6AcceptRA = false;
|
||||
};
|
||||
|
||||
macvtaphost = {
|
||||
name = "macvtaphost";
|
||||
address = [ "10.0.10.5/16" ];
|
||||
DHCP = "ipv6";
|
||||
DNS = [ "10.0.0.1" ];
|
||||
Gateway = [ "10.0.0.1" ];
|
||||
networkConfig = {
|
||||
IPv6AcceptRA = true;
|
||||
};
|
||||
dhcpV4Config.UseDNS = false;
|
||||
dhcpV6Config.UseDNS = false;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
59
hosts/lillyserver/samba-shares.nix
Normal file
59
hosts/lillyserver/samba-shares.nix
Normal file
@@ -0,0 +1,59 @@
|
||||
{
|
||||
services.samba = {
|
||||
enable = true;
|
||||
openFirewall = true;
|
||||
smbd.enable = true;
|
||||
settings = ''
|
||||
[global]
|
||||
workgroup = LILLY
|
||||
server string = LillyServer Samba
|
||||
server role = standalone server
|
||||
log file = /var/log/samba/%m.log
|
||||
max log size = 50
|
||||
|
||||
[LillyNAS]
|
||||
path = /mnt/lilly-storage/LillyNAS
|
||||
guest ok = no
|
||||
comment =
|
||||
read only = no
|
||||
shadow:snapdir = .zfs/snapshot
|
||||
shadow:sort = desc
|
||||
shadow:format = %Y-%m-%d-%H%M%S
|
||||
valid users = "@lilly" "lilly"
|
||||
vfs objects = shadow_copy2
|
||||
browseable = no
|
||||
|
||||
[LillyPhoneSync]
|
||||
path = /mnt/lilly-storage/LillyPhoneSync
|
||||
guest ok = no
|
||||
comment = Phone Data Sync
|
||||
valid users = "lilly"
|
||||
read only = no
|
||||
browseable = no
|
||||
|
||||
[PaperlessConsume]
|
||||
path = /mnt/lilly-storage/PaperlessConsume
|
||||
guest ok = no
|
||||
comment =
|
||||
read only = no
|
||||
browseable = no
|
||||
valid users = "lilly" "paperless-consume"
|
||||
|
||||
[3D-Printing]
|
||||
path = /mnt/lilly-storage/3D-Printing
|
||||
guest ok = no
|
||||
comment =
|
||||
valid users = "lilly"
|
||||
read only = no
|
||||
browseable = no
|
||||
|
||||
[Media]
|
||||
path = /mnt/lilly-storage/Media
|
||||
guest ok = no
|
||||
comment =
|
||||
valid users = "lilly"
|
||||
read only = no
|
||||
browseable = no
|
||||
'';
|
||||
};
|
||||
}
|
||||
83
hosts/lillyserver/systemd.nix
Normal file
83
hosts/lillyserver/systemd.nix
Normal file
@@ -0,0 +1,83 @@
|
||||
{ pkgs, ... }:
|
||||
let
|
||||
crowdsec-service = "crowdsec-prefix";
|
||||
tailscale-cloudflare-dns-sync-service = "tailscale-cloudflare-dns-sync";
|
||||
certbot-generic-cert-service = "certbot-renew";
|
||||
in
|
||||
{
|
||||
systemd.services = {
|
||||
|
||||
${crowdsec-service} = {
|
||||
enable = true;
|
||||
description = "Get IPv6 Prefix to add to Crowdsec Whitelist";
|
||||
serviceConfig = {
|
||||
Type = "oneshot";
|
||||
ExecStart = "/mnt/lilly-ssd/appdata/crowdsec/crowdsec-prefix-change-script/checkprefix.sh";
|
||||
WorkingDirectory = "/mnt/lilly-ssd/appdata/crowdsec/crowdsec-prefix-change-script";
|
||||
};
|
||||
};
|
||||
|
||||
${tailscale-cloudflare-dns-sync-service} = {
|
||||
enable = true;
|
||||
description = "Start the tailscale-cloudflare-dns-sync Docker container";
|
||||
serviceConfig = {
|
||||
Type = "oneshot";
|
||||
ExecStart = "${pkgs.docker}/bin/docker start tailscale-cloudflare-dns-sync";
|
||||
};
|
||||
};
|
||||
|
||||
${certbot-generic-cert-service} = {
|
||||
enable = true;
|
||||
description = "Renew Let's Encrypt certificates using Certbot in Docker";
|
||||
after = [ "network-online.target" ];
|
||||
wants = [ "network-online.target" ];
|
||||
serviceConfig = {
|
||||
Type = "oneshot";
|
||||
ExecStart = ''${pkgs.docker}/bin/docker \
|
||||
run --rm --name certbot-renew \
|
||||
-v /mnt/lilly-ssd/secrets/certificates/etc:/etc/letsencrypt \
|
||||
-v /mnt/lilly-ssd/secrets/certificates/var:/var/lib/letsencrypt \
|
||||
-v /mnt/lilly-ssd/secrets/certificates/cf-credentials:/cf-credentials:ro \
|
||||
-v /mnt/lilly-ssd/secrets/certificates/id_ed25519_certshare:/openwrt_private_key:ro \
|
||||
certbot/dns-cloudflare renew \
|
||||
--dns-cloudflare \
|
||||
--dns-cloudflare-credentials /cf-credentials
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
systemd.timers = {
|
||||
|
||||
${crowdsec-service} = {
|
||||
enable = true;
|
||||
description = "Run Crowdsec-Prefix check regularly.";
|
||||
timerConfig = {
|
||||
OnCalendar = "*:0/5";
|
||||
Persistent = true;
|
||||
};
|
||||
wantedBy = [ "timers.target" ];
|
||||
};
|
||||
|
||||
${tailscale-cloudflare-dns-sync-service} = {
|
||||
enable = true;
|
||||
description = "Run tailscale-cloudflare-dns-sync every 10 minutes";
|
||||
timerConfig = {
|
||||
OnBootSec = "10min";
|
||||
OnUnitActiveSec = "10min";
|
||||
Persistent = true;
|
||||
};
|
||||
wantedBy = [ "timers.target" ];
|
||||
};
|
||||
|
||||
${certbot-generic-cert-service} = {
|
||||
enable = true;
|
||||
description = "Weekly renewal of Let's Encrypt certificates";
|
||||
timerConfig = {
|
||||
OnCalendar = "weekly";
|
||||
Persistent = true;
|
||||
};
|
||||
wantedBy = [ "timers.target" ];
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -33,5 +33,7 @@
|
||||
curl
|
||||
jq
|
||||
lsb-release
|
||||
file
|
||||
pkg-config
|
||||
];
|
||||
}
|
||||
|
||||
8
modules/core/amd-cpu-tweaks.nix
Normal file
8
modules/core/amd-cpu-tweaks.nix
Normal file
@@ -0,0 +1,8 @@
|
||||
{ config, lib, ... }:
|
||||
{
|
||||
systemd.tmpfiles.rules = [
|
||||
"w /sys/devices/system/cpu/cpu*/cpufreq/energy_performance_preference - - - - ${config.my.amd.performancePreference}"
|
||||
]
|
||||
++ lib.optionals config.my.amd.boost.disable
|
||||
[ "w /sys/devices/system/cpu/cpufreq/boost - - - - 0" ];
|
||||
}
|
||||
6
modules/core/gpu-powersave.nix
Normal file
6
modules/core/gpu-powersave.nix
Normal file
@@ -0,0 +1,6 @@
|
||||
{ config, lib, ... }:
|
||||
{
|
||||
systemd.tmpfiles.rules = lib.mkIf config.my.gpu.powersave [
|
||||
"w /sys/module/pcie_aspm/parameters/policy - - - - powersave"
|
||||
];
|
||||
}
|
||||
@@ -7,7 +7,7 @@
|
||||
};
|
||||
logitech.wireless.enable = true;
|
||||
logitech.wireless.enableGraphical = true;
|
||||
graphics = lib.mkIf config.my.desktop.enable{
|
||||
graphics = lib.mkIf config.my.desktop.enable {
|
||||
enable = true;
|
||||
enable32Bit = true;
|
||||
};
|
||||
|
||||
38
modules/core/network.nix
Normal file
38
modules/core/network.nix
Normal file
@@ -0,0 +1,38 @@
|
||||
{ options, host, lib, ... }:
|
||||
{
|
||||
networking = {
|
||||
hostName = "${host}";
|
||||
networkmanager.enable = false;
|
||||
useNetworkd = true;
|
||||
timeServers = options.networking.timeServers.default ++ ["pool.ntp.org"];
|
||||
dhcpcd.enable = false;
|
||||
firewall = {
|
||||
enable = lib.mkDefault false;
|
||||
autoLoadConntrackHelpers = true;
|
||||
};
|
||||
nftables.enable = true;
|
||||
};
|
||||
boot.initrd.systemd = {
|
||||
network.enable = true;
|
||||
|
||||
};
|
||||
systemd.network.enable = true;
|
||||
services.resolved = {
|
||||
enable = true;
|
||||
fallbackDns = [
|
||||
"2a07:a8c0::18:7be4"
|
||||
"2a07:a8c1::18:7be4"
|
||||
"79.198.199.184"
|
||||
];
|
||||
};
|
||||
services.tailscale = {
|
||||
enable = true;
|
||||
useRoutingFeatures = "both";
|
||||
openFirewall = true;
|
||||
extraSetFlags = [
|
||||
"--ssh"
|
||||
"--accept-dns=false"
|
||||
"--accept-routes"
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -10,9 +10,18 @@ in
|
||||
powerManagement.enable = true;
|
||||
powerManagement.finegrained = false;
|
||||
open = true;
|
||||
nvidiaSettings = cfg.desktop.enable;
|
||||
nvidiaSettings = true;
|
||||
# Optionally, you may need to select the appropriate driver version for your specific GPU.
|
||||
package = config.boot.kernelPackages.nvidiaPackages.stable;
|
||||
package = config.boot.kernelPackages.nvidiaPackages.beta;
|
||||
# package =
|
||||
# config.boot.kernelPackages.nvidiaPackages.mkDriver {
|
||||
# version = "590.48.01";
|
||||
# sha256_64bit = "sha256-ueL4BpN4FDHMh/TNKRCeEz3Oy1ClDWto1LO/LWlr1ok=";
|
||||
# sha256_aarch64 = "sha256-xctt4TPRlOJ6r5S54h5W6PT6/3Zy2R4ASNFPu8TSHKM=";
|
||||
# openSha256 = "sha256-ZpuVZybW6CFN/gz9rx+UJvQ715FZnAOYfHn5jt5Z2C8=";
|
||||
# settingsSha256 = "sha256-ZpuVZybW6CFN/gz9rx+UJvQ715FZnAOYfHn5jt5Z2C8=";
|
||||
# persistencedSha256 = lib.fakeSha256;
|
||||
# };
|
||||
};
|
||||
hardware.nvidia-container-toolkit.enable = config.virtualisation.docker.enable;
|
||||
environment.systemPackages = with pkgs; [
|
||||
|
||||
@@ -16,4 +16,4 @@ let
|
||||
in
|
||||
{
|
||||
imports = module_files;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -19,7 +19,7 @@ in
|
||||
enableSystemMonitoring = true; # System monitoring widgets (dgop)
|
||||
enableClipboard = true; # Clipboard history manager
|
||||
enableVPN = true; # VPN management widget
|
||||
enableDynamicTheming = true; # Wallpaper-based theming (matugen)
|
||||
enableDynamicTheming = false; # Wallpaper-based theming (matugen)
|
||||
enableAudioWavelength = true; # Audio visualizer (cava)
|
||||
enableCalendarEvents = true; # Calendar integration (khal)
|
||||
};
|
||||
|
||||
@@ -1,3 +1,43 @@
|
||||
{ config, lib, ... }:
|
||||
let
|
||||
cfg = config.my.desktop;
|
||||
in
|
||||
{
|
||||
environment.sessionVariables.NIXOS_OZONE_WL = "1";
|
||||
environment.sessionVariables = {
|
||||
NIXOS_OZONE_WL = "1";
|
||||
GDK_BACKEND = "wayland,x11,*";
|
||||
GDK_SCALE = "2"; # GDK Scaling Factor (no fractional scaling)
|
||||
|
||||
MOZ_ENABLE_WAYLAND = "1";
|
||||
MOZ_DISABLE_RDD_SANDBOX = "1";
|
||||
|
||||
OZONE_PLATFORM = "wayland";
|
||||
|
||||
ELECTRON_OZONE_PLATFORM_HINT = "auto";
|
||||
|
||||
SDL_VIDEODRIVER = "wayland";
|
||||
CLUTTER_BACKEND = "wayland";
|
||||
|
||||
QT_QPA_PLATFORM = "wayland;xcb";
|
||||
XDG_MENU_PREFIX = "plasma-";
|
||||
QT_QPA_PLATFORMTHEME_QT6 = "qt5ct";
|
||||
GTK_THEME = "Adwaita:dark";
|
||||
QS_ICON_THEME = "Papirus-Dark";
|
||||
|
||||
LIBVA_DRIVER_NAME = "nvidia";
|
||||
__GLX_VENDOR_LIBRARY_NAME = "nvidia";
|
||||
GBM_BACKEND = "nvidia-drm";
|
||||
TERMINAL = "kitty";
|
||||
|
||||
__GL_GSYNC_ALLOWED = "1";
|
||||
__GL_VRR_ALLOWED = "1";
|
||||
|
||||
EDITOR = "code";
|
||||
STLEDITOR = "code";
|
||||
|
||||
XCURSOR_SIZE = "16";
|
||||
|
||||
XDG_SESSION_DESKTOP = lib.optionalString cfg.hyprland.enable "Hyprland";
|
||||
AQ_DRM_DEVICES = lib.optionalString cfg.hyprland.enable "/dev/dri/nvidia-dgpu";
|
||||
};
|
||||
}
|
||||
16
modules/desktop/greeter.nix
Normal file
16
modules/desktop/greeter.nix
Normal file
@@ -0,0 +1,16 @@
|
||||
{ pkgs, inputs, username, config, ... }:
|
||||
{
|
||||
services.greetd = {
|
||||
enable = true;
|
||||
settings = rec {
|
||||
default_session = {
|
||||
command =
|
||||
if config.my.desktop.hyprland.enable
|
||||
then "${pkgs.uwsm}/bin/uwsm start -e -D Hyprland ${inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland}/bin/start-hyprland"
|
||||
else "";
|
||||
user = "${username}";
|
||||
};
|
||||
initial_session = default_session;
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -9,6 +9,7 @@ in
|
||||
thunderbird
|
||||
bitwarden-desktop
|
||||
pwvucontrol
|
||||
pavucontrol
|
||||
gedit
|
||||
wl-clipboard
|
||||
brightnessctl
|
||||
@@ -18,12 +19,12 @@ in
|
||||
gedit
|
||||
nixfmt
|
||||
nixd
|
||||
gtk4
|
||||
xfce.thunar
|
||||
xfce.thunar-archive-plugin
|
||||
xfce.thunar-media-tags-plugin
|
||||
droidcam
|
||||
rustdesk
|
||||
mailspring
|
||||
rquickshare
|
||||
btrfs-assistant
|
||||
ungoogled-chromium
|
||||
@@ -40,6 +41,8 @@ in
|
||||
appimage-run
|
||||
firefoxpwa
|
||||
papirus-icon-theme
|
||||
tuigreet
|
||||
arrpc
|
||||
]
|
||||
++ lib.optionals cfg.hyprland.enable [
|
||||
hyprpolkitagent
|
||||
@@ -56,5 +59,8 @@ in
|
||||
binfmt = true;
|
||||
};
|
||||
programs.yubikey-manager.enable = true;
|
||||
systemd.user.targets.graphical-session = {
|
||||
wants = [ "arrpc.service" ];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,30 +0,0 @@
|
||||
{ pkgs, lib, username, config, ... }:
|
||||
let
|
||||
cfg = config.my.desktop;
|
||||
in
|
||||
{
|
||||
services.displayManager.sddm = {
|
||||
enable = cfg.sddm.enable;
|
||||
theme = "catppuccin-mocha-mauve";
|
||||
package = pkgs.kdePackages.sddm;
|
||||
wayland.enable = true;
|
||||
settings = {
|
||||
Autologin = lib.optionalAttrs cfg.sddm.autoLogin.enable {
|
||||
User = "${username}";
|
||||
Session = cfg.sddm.autoLogin.session;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
environment.systemPackages =
|
||||
lib.optionals cfg.sddm.enable [(
|
||||
pkgs.catppuccin-sddm.override {
|
||||
flavor = "mocha";
|
||||
accent = "mauve";
|
||||
font = "Noto Sans";
|
||||
fontSize = "9";
|
||||
background = "${./sddm-background/wallpaper.png}";
|
||||
loginBackground = true;
|
||||
}
|
||||
)];
|
||||
}
|
||||
@@ -1,11 +1,20 @@
|
||||
{ pkgs, ... }:
|
||||
{ pkgs, inputs, ... }:
|
||||
let
|
||||
system = pkgs.stdenv.hostPlatform.system;
|
||||
|
||||
pkgsUnstable = import inputs.nixpkgs-unstable {
|
||||
inherit system;
|
||||
config.allowUnfree = true;
|
||||
};
|
||||
in
|
||||
{
|
||||
programs = {
|
||||
steam = {
|
||||
enable = true;
|
||||
package = pkgsUnstable.steam;
|
||||
remotePlay.openFirewall = true;
|
||||
dedicatedServer.openFirewall = false;
|
||||
gamescopeSession.enable = false;
|
||||
dedicatedServer.openFirewall = true;
|
||||
gamescopeSession.enable = true;
|
||||
extraPackages = with pkgs; [
|
||||
steamtinkerlaunch
|
||||
];
|
||||
@@ -16,6 +25,7 @@
|
||||
gamescope = {
|
||||
enable = true;
|
||||
capSysNice = true;
|
||||
package = inputs.nixpkgs-unstable.legacyPackages.${pkgs.stdenv.hostPlatform.system}.gamescope;
|
||||
};
|
||||
};
|
||||
environment.systemPackages = with pkgs; [
|
||||
|
||||
@@ -1,15 +0,0 @@
|
||||
{ options, host, lib, ... }:
|
||||
{
|
||||
networking = {
|
||||
hostName = "${host}";
|
||||
networkmanager.enable = true;
|
||||
timeServers = options.networking.timeServers.default ++ ["pool.ntp.org"];
|
||||
firewall = {
|
||||
enable = lib.mkDefault false;
|
||||
};
|
||||
};
|
||||
services.tailscale = {
|
||||
enable = true;
|
||||
useRoutingFeatures = "client";
|
||||
};
|
||||
}
|
||||
19
modules/server/default.nix
Normal file
19
modules/server/default.nix
Normal file
@@ -0,0 +1,19 @@
|
||||
{ lib, ... }:
|
||||
let
|
||||
b = builtins;
|
||||
|
||||
module_files =
|
||||
b.readDir ./. |>
|
||||
lib.filterAttrs (name: type:
|
||||
( (lib.strings.hasSuffix ".nix" name
|
||||
&& name != "default.nix"
|
||||
&& type == "regular" )
|
||||
|| ( type == "directory"
|
||||
&& b.pathExists ./${name}/default.nix))
|
||||
) |>
|
||||
b.attrNames |>
|
||||
b.map (f: ./${f});
|
||||
in
|
||||
{
|
||||
imports = module_files;
|
||||
}
|
||||
16
modules/server/virtualisation.nix
Normal file
16
modules/server/virtualisation.nix
Normal file
@@ -0,0 +1,16 @@
|
||||
{ config, lib, ... }:
|
||||
{
|
||||
virtualisation = {
|
||||
docker.enable = true;
|
||||
spiceUSBRedirection.enable = config.my.virtualisation.enable;
|
||||
libvirtd = lib.mkIf config.my.virtualisation.enable {
|
||||
enable = true;
|
||||
qemu = {
|
||||
swtpm.enable = true;
|
||||
runAsRoot = false;
|
||||
};
|
||||
onShutdown = "shutdown";
|
||||
nss.enableGuest = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
35
options.nix
35
options.nix
@@ -12,21 +12,24 @@
|
||||
|
||||
rgb.enable = lib.mkEnableOption "Has RGB";
|
||||
|
||||
virtualisation.enable = lib.mkEnableOption "Enable Virualisation Tools";
|
||||
|
||||
amd = {
|
||||
boost.disable = lib.mkEnableOption "Disable CPU Boost";
|
||||
performancePreference = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "balance_performance";
|
||||
example = "balance_performance";
|
||||
description = "Performance Preference to set";
|
||||
};
|
||||
};
|
||||
|
||||
gpu = {
|
||||
powersave = lib.mkEnableOption "Set GPU ASPM to powersave";
|
||||
};
|
||||
|
||||
desktop = {
|
||||
enable = lib.mkEnableOption "Is a Desktop System";
|
||||
|
||||
sddm = {
|
||||
enable = lib.mkEnableOption "SDDM";
|
||||
autoLogin = {
|
||||
enable = lib.mkEnableOption "SDDM AutoLogin";
|
||||
session = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "hyprland-uwsm.desktop";
|
||||
example = "hyprland-uwsm.desktop";
|
||||
description = "Name of the autologin session desktop file";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
gaming.enable = lib.mkEnableOption "Gaming";
|
||||
|
||||
@@ -46,9 +49,11 @@
|
||||
enable = lib.mkEnableOption "Install Spotify/Spicetify";
|
||||
};
|
||||
|
||||
vesktop = {
|
||||
enable = lib.mkEnableOption "Install Vesktop";
|
||||
nixcord = {
|
||||
enable = lib.mkEnableOption "Install Nixcord/Equibop";
|
||||
};
|
||||
};
|
||||
|
||||
cockpit.enable = lib.mkEnableOption "Install Cockpit";
|
||||
};
|
||||
}
|
||||
|
||||
@@ -58,6 +58,9 @@ in
|
||||
kernel.sysctl = {"vm.max_map_count" = 2147483642;};
|
||||
loader.systemd-boot.enable = true;
|
||||
loader.efi.canTouchEfiVariables = true;
|
||||
initrd = {
|
||||
systemd.enable = true;
|
||||
};
|
||||
# Appimage Support
|
||||
binfmt.registrations.appimage = {
|
||||
wrapInterpreterInShell = false;
|
||||
|
||||
Reference in New Issue
Block a user