Compare commits
18 Commits
2eb24167e5
..
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 0ed84d8068 | |||
| 4eba766188 | |||
| b4f1d2381a | |||
| 3f38b0b474 | |||
| 8c5c071897 | |||
| 823302f7e5 | |||
| f5b429f704 | |||
| 965a0a714b | |||
| 870b3941c0 | |||
| 717ade35db | |||
| 1d41bf6bf1 | |||
| 01e84a3561 | |||
| 2c13658e89 | |||
| 551e9b2cb4 | |||
| 8f9b707c2d | |||
| 83aa051d92 | |||
| 98069fa8d9 | |||
| 077d8f07e7 |
Generated
+59
-59
@@ -17,11 +17,11 @@
|
|||||||
"treefmt-nix": "treefmt-nix"
|
"treefmt-nix": "treefmt-nix"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1779522232,
|
"lastModified": 1781331278,
|
||||||
"narHash": "sha256-43PUS3kPWEWVArFV9h1m4mrWIdHeeVXv7kdteYhobOs=",
|
"narHash": "sha256-8IM7jJnnkhbKDbq39q4BS+DbE5CrsT4UhFtmcUDvVjE=",
|
||||||
"owner": "mrshmllow",
|
"owner": "mrshmllow",
|
||||||
"repo": "affinity-nix",
|
"repo": "affinity-nix",
|
||||||
"rev": "328f8f66e375c64255dc3cb3453271aab4d4c273",
|
"rev": "f112cdef13bbd13e1067e72804c18c7622357547",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -116,11 +116,11 @@
|
|||||||
},
|
},
|
||||||
"crane": {
|
"crane": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1779130139,
|
"lastModified": 1780532242,
|
||||||
"narHash": "sha256-BLrtr42azquO7MdGFU5a7KiMl3YpFlTeIXqy1fT5GlQ=",
|
"narHash": "sha256-D+BsdpxmtUwtqGoY0IXPhHgTlmqgcZKCEo1oMyn7ep0=",
|
||||||
"owner": "ipetkov",
|
"owner": "ipetkov",
|
||||||
"repo": "crane",
|
"repo": "crane",
|
||||||
"rev": "edb38893982a3338972bb4a2ec7ce7c29ba10fd9",
|
"rev": "59a82a1222dd3b2080b5cc52a1a2e8d5f1b77f37",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -138,11 +138,11 @@
|
|||||||
"rust-analyzer-src": "rust-analyzer-src"
|
"rust-analyzer-src": "rust-analyzer-src"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1779270500,
|
"lastModified": 1781086641,
|
||||||
"narHash": "sha256-r60KTphdevmdIDz1iJ529HvcpOq082ZZ1OnN3jDnrqk=",
|
"narHash": "sha256-2oBncBeL671Tf6TnYqk36ebkfPHNYPKwz5at8NcrpvI=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "fenix",
|
"repo": "fenix",
|
||||||
"rev": "848395a91def85c11694587636151d89555f1ddb",
|
"rev": "640606300f74b4891bfa1a51f5756450f9fdc7f1",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -181,11 +181,11 @@
|
|||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"dir": "pkgs/firefox-addons",
|
"dir": "pkgs/firefox-addons",
|
||||||
"lastModified": 1779508957,
|
"lastModified": 1781323358,
|
||||||
"narHash": "sha256-gNwsa7Hwp+pUNe9pvv2aFphcFnm8BoCUUQRm0HXJHD0=",
|
"narHash": "sha256-W8SFmaIEW4tP4jQ48EJSSVnO8s4gZ1j1D4K22tW9pd8=",
|
||||||
"owner": "rycee",
|
"owner": "rycee",
|
||||||
"repo": "nur-expressions",
|
"repo": "nur-expressions",
|
||||||
"rev": "3bd76938b820b6f7cf537fffa206bb6a73094b4f",
|
"rev": "89503b569dd29491d5c58bf41c244253fcd3d2b3",
|
||||||
"type": "gitlab"
|
"type": "gitlab"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -198,11 +198,11 @@
|
|||||||
"firefox-gnome-theme": {
|
"firefox-gnome-theme": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1776136500,
|
"lastModified": 1779670703,
|
||||||
"narHash": "sha256-r0gN2brVWA351zwMV0Flmlcd6SGMvYqFbvC3DfKFM8Y=",
|
"narHash": "sha256-UdfMivNMwCCqQsYDg5pSz8X2IOaOrIZLIIy+Bg3CO2o=",
|
||||||
"owner": "rafaelmardojai",
|
"owner": "rafaelmardojai",
|
||||||
"repo": "firefox-gnome-theme",
|
"repo": "firefox-gnome-theme",
|
||||||
"rev": "0f8ba203d475587f477e7ae12661bd8459e225b7",
|
"rev": "942159e73e40bf785816f7f1f5feed9ef3d7c8f9",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -265,11 +265,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1775087534,
|
"lastModified": 1778716662,
|
||||||
"narHash": "sha256-91qqW8lhL7TLwgQWijoGBbiD4t7/q75KTi8NxjVmSmA=",
|
"narHash": "sha256-m1Yf0wZ8j1OHjTc2UwHwyQRSnNeSgLJOd7q5Y45hzi4=",
|
||||||
"owner": "hercules-ci",
|
"owner": "hercules-ci",
|
||||||
"repo": "flake-parts",
|
"repo": "flake-parts",
|
||||||
"rev": "3107b77cd68437b9a76194f0f7f9c55f2329ca5b",
|
"rev": "f7c1a2d347e4c52d5fb8d10cb4d94b5884e546fb",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -383,11 +383,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1779507042,
|
"lastModified": 1781305496,
|
||||||
"narHash": "sha256-7wOwi8B6D0BYsieZCnHZZj2sNUzgJhLoIVSfkwB7lxQ=",
|
"narHash": "sha256-g8Vv4Qfc7n+lgov97REu3X6BeJtvYY0hlSUZR1GrGQQ=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "509ed3c603349a9d43de9e2ae6613baea6bd5b34",
|
"rev": "c87a39aa979acc4848016d2220c6238390d84779",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -456,11 +456,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1779508470,
|
"lastModified": 1781074563,
|
||||||
"narHash": "sha256-Ap9KJX+5xHIn3bPIpfNgT6MEXdAECECwo4/rmlQD74M=",
|
"narHash": "sha256-md8WlXOlfnIeHeOScMTTHFyf2d6iaTwPl2apR5EQ3P4=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "29916453413845e54a65b8a1cf996842300cd299",
|
"rev": "9ae611a455b90cf061d8f332b977e387bda8e1ca",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -509,11 +509,11 @@
|
|||||||
"noctalia-qs": "noctalia-qs"
|
"noctalia-qs": "noctalia-qs"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1779504029,
|
"lastModified": 1780889763,
|
||||||
"narHash": "sha256-f8u9DV9Qk8KJh7DVvk4UgUFTN0NDJeFxgrffTSwPkpA=",
|
"narHash": "sha256-18kh968u0hhtDyECo0FBnlEnJLDxs0uB5H5QbWA9P3I=",
|
||||||
"owner": "noctalia-dev",
|
"owner": "noctalia-dev",
|
||||||
"repo": "noctalia-shell",
|
"repo": "noctalia-shell",
|
||||||
"rev": "b99b7a7f06ff749df9ac43181ff7889ff90c5599",
|
"rev": "57be32b0a81471ef6c5dceff6faad23b534ec7f8",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -532,11 +532,11 @@
|
|||||||
"treefmt-nix": "treefmt-nix_2"
|
"treefmt-nix": "treefmt-nix_2"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1778983195,
|
"lastModified": 1780799499,
|
||||||
"narHash": "sha256-hE3EFK5GoSdbO5WHZ8bZDUVYkofbDLQN/KK25z7IOOI=",
|
"narHash": "sha256-YloRtLqJabzYUWvdLyh67zH4DZrR3kQj+dlQJwLPmPM=",
|
||||||
"owner": "noctalia-dev",
|
"owner": "noctalia-dev",
|
||||||
"repo": "noctalia-qs",
|
"repo": "noctalia-qs",
|
||||||
"rev": "4116b41cdc89e186be7cb8b24a9b6022af95d742",
|
"rev": "f308426239665e3bc3d624014e9295b2ae2f58ff",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -556,11 +556,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1777598946,
|
"lastModified": 1780281641,
|
||||||
"narHash": "sha256-X239dAGaU1+gfDj8jKH8GzlqKMcxaVfXOio+uzBOkeE=",
|
"narHash": "sha256-M/+hUKoKbHXpV0xGVfELbN1Ds1aoe3pL5p5/t46YhVo=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "NUR",
|
"repo": "NUR",
|
||||||
"rev": "5d55af01c0f86be583931fe99207fc56c14134b3",
|
"rev": "30f9ae2f04174de63ba8bcf3580ca90843b28a01",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -639,11 +639,11 @@
|
|||||||
"rust-analyzer-src": {
|
"rust-analyzer-src": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1779221047,
|
"lastModified": 1781005730,
|
||||||
"narHash": "sha256-HkOWI9C4kxA6xkS9GXhe4hAAme7ekOWje3b1U7rLSIo=",
|
"narHash": "sha256-3Bn47a+Vs2/ltQfTU2ApWqy5kYNmF+RaTEJs0A/H2pA=",
|
||||||
"owner": "rust-lang",
|
"owner": "rust-lang",
|
||||||
"repo": "rust-analyzer",
|
"repo": "rust-analyzer",
|
||||||
"rev": "f4bd646a7867c7814770168e0d4b9bd3418c1066",
|
"rev": "587ce15e272b94d4f0a69d695e3718a02c24667e",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -690,11 +690,11 @@
|
|||||||
"tinted-zed": "tinted-zed"
|
"tinted-zed": "tinted-zed"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1779378391,
|
"lastModified": 1781018772,
|
||||||
"narHash": "sha256-IsDb9erotvx9npI94UDosvMeYQK17p7/vmU2v9batrY=",
|
"narHash": "sha256-C+cGIUaC6dqfwTbI+BwCd572PbESGA3WYxR1sLTqxkY=",
|
||||||
"owner": "danth",
|
"owner": "danth",
|
||||||
"repo": "stylix",
|
"repo": "stylix",
|
||||||
"rev": "c1456cc4ba3c9485e7b4158c909eeca5a752cd59",
|
"rev": "a378e4c09031fb15a4d65da88aa628f71fc52f6b",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -720,16 +720,16 @@
|
|||||||
},
|
},
|
||||||
"systems_2": {
|
"systems_2": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1681028828,
|
"lastModified": 1689347949,
|
||||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
|
||||||
"owner": "nix-systems",
|
"owner": "nix-systems",
|
||||||
"repo": "default",
|
"repo": "default-linux",
|
||||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nix-systems",
|
"owner": "nix-systems",
|
||||||
"repo": "default",
|
"repo": "default-linux",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -752,11 +752,11 @@
|
|||||||
"tinted-schemes": {
|
"tinted-schemes": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1777041405,
|
"lastModified": 1777806186,
|
||||||
"narHash": "sha256-BAGZ7ObFV/9Z61OJZun7ifPyhkuHqNuW1QIhQ8LuzCo=",
|
"narHash": "sha256-PDF0/wObw4nIsSBeXVYLsloXOiphXCgIdsrNcVXguKs=",
|
||||||
"owner": "tinted-theming",
|
"owner": "tinted-theming",
|
||||||
"repo": "schemes",
|
"repo": "schemes",
|
||||||
"rev": "5f868b3a338b6904c47f3833b9c411be641983a8",
|
"rev": "0c94645546f4f3ddac77a1a5fce54eb95bf50795",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -768,11 +768,11 @@
|
|||||||
"tinted-tmux": {
|
"tinted-tmux": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1777169200,
|
"lastModified": 1778379944,
|
||||||
"narHash": "sha256-h7dDbIzP5hDr9v97w9PL6jdAgXawmj6krcH+959rqpU=",
|
"narHash": "sha256-wPDFzMGSlARlw0Sfsn48Q2+jPSfk6N0Ng6BC/d+7Q24=",
|
||||||
"owner": "tinted-theming",
|
"owner": "tinted-theming",
|
||||||
"repo": "tinted-tmux",
|
"repo": "tinted-tmux",
|
||||||
"rev": "f798c2dce44ef815bb6b8f05a82135c7942d35ac",
|
"rev": "fe0203a198690e71a5ff11e08812a4673de3678d",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -784,11 +784,11 @@
|
|||||||
"tinted-zed": {
|
"tinted-zed": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1777463218,
|
"lastModified": 1778378178,
|
||||||
"narHash": "sha256-Bhkozqtq3BKLqWTlmKm8uAptfX4aRGI8QX3eEL54Vpc=",
|
"narHash": "sha256-OXPXRIQgGwV77HjYRryOHguh4ALX96jkg+tseLkGgHA=",
|
||||||
"owner": "tinted-theming",
|
"owner": "tinted-theming",
|
||||||
"repo": "base16-zed",
|
"repo": "base16-zed",
|
||||||
"rev": "5768d08ed2e7944a26a958868cdb073cb8856dae",
|
"rev": "9cd816033ff969415b190722cddf134e78a5665f",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -804,11 +804,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1775636079,
|
"lastModified": 1780220602,
|
||||||
"narHash": "sha256-pc20NRoMdiar8oPQceQT47UUZMBTiMdUuWrYu2obUP0=",
|
"narHash": "sha256-eynAfOmbmxJnkp7YewvCEbShNnnYJ9gLLqkzsYtBPeM=",
|
||||||
"owner": "numtide",
|
"owner": "numtide",
|
||||||
"repo": "treefmt-nix",
|
"repo": "treefmt-nix",
|
||||||
"rev": "790751ff7fd3801feeaf96d7dc416a8d581265ba",
|
"rev": "db947814a175b7ca6ded66e21383d938df01c227",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -826,11 +826,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1775636079,
|
"lastModified": 1780220602,
|
||||||
"narHash": "sha256-pc20NRoMdiar8oPQceQT47UUZMBTiMdUuWrYu2obUP0=",
|
"narHash": "sha256-eynAfOmbmxJnkp7YewvCEbShNnnYJ9gLLqkzsYtBPeM=",
|
||||||
"owner": "numtide",
|
"owner": "numtide",
|
||||||
"repo": "treefmt-nix",
|
"repo": "treefmt-nix",
|
||||||
"rev": "790751ff7fd3801feeaf96d7dc416a8d581265ba",
|
"rev": "db947814a175b7ca6ded66e21383d938df01c227",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|||||||
@@ -65,25 +65,14 @@
|
|||||||
hostDirs = builtins.attrNames (builtins.readDir ./hosts);
|
hostDirs = builtins.attrNames (builtins.readDir ./hosts);
|
||||||
|
|
||||||
mkHost = hostName: let
|
mkHost = hostName: let
|
||||||
inherit
|
hostVars = import ./hosts/${hostName}/variables.nix;
|
||||||
(import ./hosts/${hostName}/variables.nix)
|
hostPrinterVars = import ./hosts/${hostName}/printers.nix;
|
||||||
host
|
|
||||||
username
|
|
||||||
profile
|
|
||||||
system
|
|
||||||
;
|
|
||||||
in
|
in
|
||||||
nixpkgs.lib.nixosSystem {
|
nixpkgs.lib.nixosSystem {
|
||||||
inherit system;
|
inherit (hostVars) system;
|
||||||
specialArgs = {
|
specialArgs = hostVars // hostPrinterVars // {inherit inputs;};
|
||||||
inherit inputs;
|
|
||||||
inherit username;
|
|
||||||
inherit host;
|
|
||||||
inherit profile;
|
|
||||||
inherit system;
|
|
||||||
};
|
|
||||||
modules = [
|
modules = [
|
||||||
./profiles/${profile}
|
./profiles/${hostVars.profile}
|
||||||
nix-flatpak.nixosModules.nix-flatpak
|
nix-flatpak.nixosModules.nix-flatpak
|
||||||
garandos-tui.nixosModules.garandos-tui
|
garandos-tui.nixosModules.garandos-tui
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -7,12 +7,14 @@ _: {
|
|||||||
enable = true; # Zed Editor: a modern, high‑performance code editor
|
enable = true; # Zed Editor: a modern, high‑performance code editor
|
||||||
remote-server.enable = false; # Remote Server: enable remote editing capabilities
|
remote-server.enable = false; # Remote Server: enable remote editing capabilities
|
||||||
};
|
};
|
||||||
|
opencode.enable = false; # OpenCode: terminal coding agent
|
||||||
|
ollama.enable = false; # Ollama: Local Llms
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Web browsers
|
Web browsers
|
||||||
*/
|
*/
|
||||||
librewolf.enable = true; # Librewolf: a privacy-focused Firefox fork
|
librewolf.enable = true; # Librewolf: a privacy-focused Firefox fork
|
||||||
ungoogled-chromium.enable = true; # Ungoogled Chromium: a privacy-focused Chromium fork
|
ungoogled-chromium.enable = false; # Ungoogled Chromium: a privacy-focused Chromium fork
|
||||||
|
|
||||||
/*
|
/*
|
||||||
System utilities
|
System utilities
|
||||||
@@ -33,6 +35,7 @@ _: {
|
|||||||
Gaming
|
Gaming
|
||||||
*/
|
*/
|
||||||
lutris.enable = false; # Lutris: an open gaming platform
|
lutris.enable = false; # Lutris: an open gaming platform
|
||||||
|
mangohud.enable = true; # MangoHud: Vulkan and OpenGL overlay for monitoring FPS, temperatures, CPU/GPU load and more
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Media recording and streaming
|
Media recording and streaming
|
||||||
@@ -49,6 +52,16 @@ _: {
|
|||||||
*/
|
*/
|
||||||
anki.enable = true; # Anki: spaced‑repetition flashcard program
|
anki.enable = true; # Anki: spaced‑repetition flashcard program
|
||||||
|
|
||||||
|
/*
|
||||||
|
Productivity / Knowledge Management
|
||||||
|
*/
|
||||||
|
obsidian = {
|
||||||
|
enable = true; # Obsidian: Powerful knowledge base that works on top of a local folder of plain text Markdown files
|
||||||
|
vaults = {
|
||||||
|
"BoM".enable = true; # Blood of Mages: ttrpg session
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
XDG desktop entries (PWA)
|
XDG desktop entries (PWA)
|
||||||
*/
|
*/
|
||||||
@@ -64,4 +77,18 @@ _: {
|
|||||||
jellyfinClient.enable = true; # Jellyfin: My Jellyfin
|
jellyfinClient.enable = true; # Jellyfin: My Jellyfin
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
Noctalia-shell plugins
|
||||||
|
*/
|
||||||
|
nooctalia-plugins = {
|
||||||
|
mini-docker.enable = false; # Mini Docker: Manage Docker containers, images, volumes & networks
|
||||||
|
timer.enable = false; # Timer: A timer and stopwatch plugin for the bar & control center.
|
||||||
|
keybind-cheatsheet.enable = true; # Keybind Cheatsheet: Universal keyboard shortcuts keymap that automatically detects and displays keybindings for Hyprland, Niri, or MangoWC compositors.
|
||||||
|
kde-connect.enable = true; # KDE Connect: A Plugin integrating your mobile devices into a panel using KDEConnect
|
||||||
|
screen-recorder.enable = true; # Screen Recorder: Hardware-accelerated screen recording using gpu-screen-recorder with customizable video and audio settings
|
||||||
|
screenshot.enable = true; # Screenshot: Quick screenshot button in bar for Hyprland, Sway, and Niri
|
||||||
|
ntfy-notifications.enable = true; # ntfy Notifications: Subscribe to ntfy topics and receive push notifications directly in your bar, with full theming support
|
||||||
|
tailscale.enable = true; # Tailscale: Show Tailscale status in the menu bar and send/receive files via Taildrop.
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -68,7 +68,6 @@ _: {
|
|||||||
*/
|
*/
|
||||||
exercism.enable = false; # Exercism: coding practice platform
|
exercism.enable = false; # Exercism: coding practice platform
|
||||||
lazygit.enable = false; # Lazygit: simple TUI for Git
|
lazygit.enable = false; # Lazygit: simple TUI for Git
|
||||||
opencode.enable = false; # OpenCode: tools for coding and development
|
|
||||||
jan.enable = true; # Jan: AI chat UI
|
jan.enable = true; # Jan: AI chat UI
|
||||||
logisim-evolution.enable = false; # Logisim-Evolution: Digital logic designer and simulator
|
logisim-evolution.enable = false; # Logisim-Evolution: Digital logic designer and simulator
|
||||||
|
|
||||||
@@ -89,7 +88,7 @@ _: {
|
|||||||
*/
|
*/
|
||||||
bitwarden.enable = false; # Bitwarden: password manager (desktop)
|
bitwarden.enable = false; # Bitwarden: password manager (desktop)
|
||||||
iotas.enable = true; # Iotas: lightweight notes manager
|
iotas.enable = true; # Iotas: lightweight notes manager
|
||||||
logseq.enable = false; # Logseq: knowledge base and outliner
|
# appImages.logseq.enable = false; # Logseq: knowledge base and outliner
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Media & Graphics
|
Media & Graphics
|
||||||
@@ -100,8 +99,9 @@ _: {
|
|||||||
gimp.enable = false; # GIMP: GNU Image Manipulation Program
|
gimp.enable = false; # GIMP: GNU Image Manipulation Program
|
||||||
kdenlive.enable = true; # Kdenlive: video editing software
|
kdenlive.enable = true; # Kdenlive: video editing software
|
||||||
pixieditor.enable = true; # Pixieditor: Universal editor for all your 2D needs
|
pixieditor.enable = true; # Pixieditor: Universal editor for all your 2D needs
|
||||||
plex.enable = true; # Plex: media player and server client
|
plex.enable = false; # Plex: media player and server client
|
||||||
jellyfin.enable = true; # Jellyfin: foss media player
|
jellyfin.enable = true; # Jellyfin: foss media player
|
||||||
|
appImages.losslesscut.enable = true; # Losslesscut: Swiss army knife of lossless video/audio editing
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Utilities / Misc
|
Utilities / Misc
|
||||||
|
|||||||
@@ -15,6 +15,10 @@
|
|||||||
gitUsername = "GarandPLG";
|
gitUsername = "GarandPLG";
|
||||||
gitEmail = "garandplg@garandplg.com";
|
gitEmail = "garandplg@garandplg.com";
|
||||||
|
|
||||||
|
# User shell
|
||||||
|
# Availabe options: "fish", "bash"
|
||||||
|
shell = "fish";
|
||||||
|
|
||||||
# Hyprland Settings
|
# Hyprland Settings
|
||||||
# Examples:
|
# Examples:
|
||||||
# extraMonitorSettings = "monitor = Virtual-1,1920x1080@60,auto,1";
|
# extraMonitorSettings = "monitor = Virtual-1,1920x1080@60,auto,1";
|
||||||
@@ -35,9 +39,6 @@
|
|||||||
# Enable NFS
|
# Enable NFS
|
||||||
enableNFS = false;
|
enableNFS = false;
|
||||||
|
|
||||||
# Enable Printing Support
|
|
||||||
printEnable = true;
|
|
||||||
|
|
||||||
# Set Stylix Image
|
# Set Stylix Image
|
||||||
# This will set your color palette
|
# This will set your color palette
|
||||||
# Default background
|
# Default background
|
||||||
|
|||||||
@@ -7,6 +7,8 @@ _: {
|
|||||||
enable = true; # Zed Editor: a modern, high‑performance code editor
|
enable = true; # Zed Editor: a modern, high‑performance code editor
|
||||||
remote-server.enable = false; # Remote Server: enable remote editing capabilities
|
remote-server.enable = false; # Remote Server: enable remote editing capabilities
|
||||||
};
|
};
|
||||||
|
opencode.enable = false; # OpenCode: terminal coding agent
|
||||||
|
ollama.enable = false; # Ollama: Local Llms
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Web browsers
|
Web browsers
|
||||||
@@ -33,6 +35,7 @@ _: {
|
|||||||
Gaming
|
Gaming
|
||||||
*/
|
*/
|
||||||
lutris.enable = false; # Lutris: an open gaming platform
|
lutris.enable = false; # Lutris: an open gaming platform
|
||||||
|
mangohud.enable = true; # MangoHud: Vulkan and OpenGL overlay for monitoring FPS, temperatures, CPU/GPU load and more
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Media recording and streaming
|
Media recording and streaming
|
||||||
@@ -49,6 +52,16 @@ _: {
|
|||||||
*/
|
*/
|
||||||
anki.enable = true; # Anki: spaced‑repetition flashcard program
|
anki.enable = true; # Anki: spaced‑repetition flashcard program
|
||||||
|
|
||||||
|
/*
|
||||||
|
Productivity / Knowledge Management
|
||||||
|
*/
|
||||||
|
obsidian = {
|
||||||
|
enable = true; # Obsidian: Powerful knowledge base that works on top of a local folder of plain text Markdown files
|
||||||
|
vaults = {
|
||||||
|
"BoM".enable = true; # Blood of Mages: ttrpg session
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
XDG desktop entries (PWA)
|
XDG desktop entries (PWA)
|
||||||
*/
|
*/
|
||||||
@@ -64,4 +77,18 @@ _: {
|
|||||||
jellyfinClient.enable = true; # Jellyfin: My Jellyfin
|
jellyfinClient.enable = true; # Jellyfin: My Jellyfin
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
Noctalia-shell plugins
|
||||||
|
*/
|
||||||
|
nooctalia-plugins = {
|
||||||
|
mini-docker.enable = false; # Mini Docker: Manage Docker containers, images, volumes & networks
|
||||||
|
timer.enable = false; # Timer: A timer and stopwatch plugin for the bar & control center.
|
||||||
|
keybind-cheatsheet.enable = true; # Keybind Cheatsheet: Universal keyboard shortcuts keymap that automatically detects and displays keybindings for Hyprland, Niri, or MangoWC compositors.
|
||||||
|
kde-connect.enable = true; # KDE Connect: A Plugin integrating your mobile devices into a panel using KDEConnect
|
||||||
|
screen-recorder.enable = false; # Screen Recorder: Hardware-accelerated screen recording using gpu-screen-recorder with customizable video and audio settings
|
||||||
|
screenshot.enable = true; # Screenshot: Quick screenshot button in bar for Hyprland, Sway, and Niri
|
||||||
|
ntfy-notifications.enable = true; # ntfy Notifications: Subscribe to ntfy topics and receive push notifications directly in your bar, with full theming support
|
||||||
|
tailscale.enable = true; # Tailscale: Show Tailscale status in the menu bar and send/receive files via Taildrop.
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -68,7 +68,6 @@ _: {
|
|||||||
*/
|
*/
|
||||||
exercism.enable = false; # Exercism: coding practice platform
|
exercism.enable = false; # Exercism: coding practice platform
|
||||||
lazygit.enable = false; # Lazygit: simple TUI for Git
|
lazygit.enable = false; # Lazygit: simple TUI for Git
|
||||||
opencode.enable = false; # OpenCode: tools for coding and development
|
|
||||||
jan.enable = true; # Jan: AI chat UI
|
jan.enable = true; # Jan: AI chat UI
|
||||||
logisim-evolution.enable = false; # Logisim-Evolution: Digital logic designer and simulator
|
logisim-evolution.enable = false; # Logisim-Evolution: Digital logic designer and simulator
|
||||||
|
|
||||||
@@ -89,7 +88,7 @@ _: {
|
|||||||
*/
|
*/
|
||||||
bitwarden.enable = false; # Bitwarden: password manager (desktop)
|
bitwarden.enable = false; # Bitwarden: password manager (desktop)
|
||||||
iotas.enable = true; # Iotas: lightweight notes manager
|
iotas.enable = true; # Iotas: lightweight notes manager
|
||||||
logseq.enable = false; # Logseq: knowledge base and outliner
|
# appImages.logseq.enable = false; # Logseq: knowledge base and outliner
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Media & Graphics
|
Media & Graphics
|
||||||
@@ -100,8 +99,9 @@ _: {
|
|||||||
gimp.enable = false; # GIMP: GNU Image Manipulation Program
|
gimp.enable = false; # GIMP: GNU Image Manipulation Program
|
||||||
kdenlive.enable = false; # Kdenlive: video editing software
|
kdenlive.enable = false; # Kdenlive: video editing software
|
||||||
pixieditor.enable = true; # Pixieditor: Universal editor for all your 2D needs
|
pixieditor.enable = true; # Pixieditor: Universal editor for all your 2D needs
|
||||||
plex.enable = true; # Plex: media player and server client
|
plex.enable = false; # Plex: media player and server client
|
||||||
jellyfin.enable = true; # Jellyfin: foss media player
|
jellyfin.enable = true; # Jellyfin: foss media player
|
||||||
|
appImages.losslesscut.enable = false; # Losslesscut: Swiss army knife of lossless video/audio editing
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Utilities / Misc
|
Utilities / Misc
|
||||||
|
|||||||
@@ -15,6 +15,10 @@
|
|||||||
gitUsername = "GarandPLG";
|
gitUsername = "GarandPLG";
|
||||||
gitEmail = "garandplg@garandplg.com";
|
gitEmail = "garandplg@garandplg.com";
|
||||||
|
|
||||||
|
# User shell
|
||||||
|
# Availabe options: "fish", "bash"
|
||||||
|
shell = "fish";
|
||||||
|
|
||||||
# Hyprland Settings
|
# Hyprland Settings
|
||||||
# Examples:
|
# Examples:
|
||||||
# extraMonitorSettings = "monitor = Virtual-1,1920x1080@60,auto,1";
|
# extraMonitorSettings = "monitor = Virtual-1,1920x1080@60,auto,1";
|
||||||
|
|||||||
@@ -4,21 +4,23 @@ _: {
|
|||||||
*/
|
*/
|
||||||
vscodium.enable = false; # VSCodium: a free and open-source "demicrosofted" VSCode
|
vscodium.enable = false; # VSCodium: a free and open-source "demicrosofted" VSCode
|
||||||
zed-editor = {
|
zed-editor = {
|
||||||
enable = true; # Zed Editor: a modern, high‑performance code editor
|
enable = false; # Zed Editor: a modern, high‑performance code editor
|
||||||
remote-server.enable = true; # Remote Server: enable remote editing capabilities
|
remote-server.enable = false; # Remote Server: enable remote editing capabilities
|
||||||
};
|
};
|
||||||
|
opencode.enable = false; # OpenCode: terminal coding agent
|
||||||
|
ollama.enable = false; # Ollama: Local Llms
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Web browsers
|
Web browsers
|
||||||
*/
|
*/
|
||||||
librewolf.enable = true; # Librewolf: a privacy-focused Firefox fork
|
librewolf.enable = false; # Librewolf: a privacy-focused Firefox fork
|
||||||
ungoogled-chromium.enable = true; # Ungoogled Chromium: a privacy-focused Chromium fork
|
ungoogled-chromium.enable = false; # Ungoogled Chromium: a privacy-focused Chromium fork
|
||||||
|
|
||||||
/*
|
/*
|
||||||
System utilities
|
System utilities
|
||||||
*/
|
*/
|
||||||
btop.enable = true; # Btop: a resource monitor for the terminal
|
btop.enable = true; # Btop: a resource monitor for the terminal
|
||||||
easyeffects.enable = true; # EasyEffects: Audio effects for PipeWire applications
|
easyeffects.enable = false; # EasyEffects: Audio effects for PipeWire applications
|
||||||
cava.enable = false; # Cava: terminal audio visualizer
|
cava.enable = false; # Cava: terminal audio visualizer
|
||||||
fastfetch.enable = true; # Fastfetch: a fast system information tool
|
fastfetch.enable = true; # Fastfetch: a fast system information tool
|
||||||
|
|
||||||
@@ -26,13 +28,14 @@ _: {
|
|||||||
Communication and synchronization
|
Communication and synchronization
|
||||||
*/
|
*/
|
||||||
kdeconnect.enable = false; # KDE Connect: integrate your phone and desktop
|
kdeconnect.enable = false; # KDE Connect: integrate your phone and desktop
|
||||||
nextcloud-client.enable = true; # Nextcloud Client: sync files with a Nextcloud server
|
nextcloud-client.enable = false; # Nextcloud Client: sync files with a Nextcloud server
|
||||||
vesktop.enable = true; # Vesktop: a community‑driven Discord client
|
vesktop.enable = false; # Vesktop: a community‑driven Discord client
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Gaming
|
Gaming
|
||||||
*/
|
*/
|
||||||
lutris.enable = false; # Lutris: an open gaming platform
|
lutris.enable = false; # Lutris: an open gaming platform
|
||||||
|
mangohud.enable = false; # MangoHud: Vulkan and OpenGL overlay for monitoring FPS, temperatures, CPU/GPU load and more
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Media recording and streaming
|
Media recording and streaming
|
||||||
@@ -42,26 +45,50 @@ _: {
|
|||||||
/*
|
/*
|
||||||
Office suite
|
Office suite
|
||||||
*/
|
*/
|
||||||
onlyoffice.enable = true; # OnlyOffice: an office suite compatible with Microsoft formats
|
onlyoffice.enable = false; # OnlyOffice: an office suite compatible with Microsoft formats
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Learning tools
|
Learning tools
|
||||||
*/
|
*/
|
||||||
anki.enable = true; # Anki: spaced‑repetition flashcard program
|
anki.enable = false; # Anki: spaced‑repetition flashcard program
|
||||||
|
|
||||||
|
/*
|
||||||
|
Productivity / Knowledge Management
|
||||||
|
*/
|
||||||
|
obsidian = {
|
||||||
|
enable = false; # Obsidian: Powerful knowledge base that works on top of a local folder of plain text Markdown files
|
||||||
|
vaults = {
|
||||||
|
"BoM".enable = false; # Blood of Mages: ttrpg session
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
XDG desktop entries (PWA)
|
XDG desktop entries (PWA)
|
||||||
*/
|
*/
|
||||||
xdgDesktopEntries = {
|
xdgDesktopEntries = {
|
||||||
enable = true; # Enable XDG desktop entries
|
enable = false; # Enable XDG desktop entries
|
||||||
entries = {
|
entries = {
|
||||||
messenger.enable = true; # Messenger: Facebook Messenger
|
messenger.enable = false; # Messenger: Facebook Messenger
|
||||||
mastodon.enable = true; # Mastodon: a decentralized social network
|
mastodon.enable = false; # Mastodon: a decentralized social network
|
||||||
garandcloud.enable = true; # GarandCloud: my Nextcloud instance
|
garandcloud.enable = false; # GarandCloud: my Nextcloud instance
|
||||||
chatgpt.enable = true; # ChatGPT: a large language model
|
chatgpt.enable = false; # ChatGPT: a large language model
|
||||||
claude.enable = true; # Claude: a large language model
|
claude.enable = false; # Claude: a large language model
|
||||||
glance.enable = true; # Glance: my home server dashboard
|
glance.enable = false; # Glance: my home server dashboard
|
||||||
jellyfinClient.enable = true; # Jellyfin: My Jellyfin
|
jellyfinClient.enable = false; # Jellyfin: My Jellyfin
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
Noctalia-shell plugins
|
||||||
|
*/
|
||||||
|
nooctalia-plugins = {
|
||||||
|
mini-docker.enable = false; # Mini Docker: Manage Docker containers, images, volumes & networks
|
||||||
|
timer.enable = false; # Timer: A timer and stopwatch plugin for the bar & control center.
|
||||||
|
keybind-cheatsheet.enable = false; # Keybind Cheatsheet: Universal keyboard shortcuts keymap that automatically detects and displays keybindings for Hyprland, Niri, or MangoWC compositors.
|
||||||
|
kde-connect.enable = false; # KDE Connect: A Plugin integrating your mobile devices into a panel using KDEConnect
|
||||||
|
screen-recorder.enable = false; # Screen Recorder: Hardware-accelerated screen recording using gpu-screen-recorder with customizable video and audio settings
|
||||||
|
screenshot.enable = false; # Screenshot: Quick screenshot button in bar for Hyprland, Sway, and Niri
|
||||||
|
ntfy-notifications.enable = false; # ntfy Notifications: Subscribe to ntfy topics and receive push notifications directly in your bar, with full theming support
|
||||||
|
tailscale.enable = false; # Tailscale: Show Tailscale status in the menu bar and send/receive files via Taildrop.
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,14 +2,14 @@ _: {
|
|||||||
/*
|
/*
|
||||||
Container & Packaging
|
Container & Packaging
|
||||||
*/
|
*/
|
||||||
docker.enable = true; # Docker: container runtime and management
|
docker.enable = false; # Docker: container runtime and management
|
||||||
virtualbox.enable = false; # VirtualBox: PC emulator
|
virtualbox.enable = false; # VirtualBox: PC emulator
|
||||||
flatpak = {
|
flatpak = {
|
||||||
enable = true; # Flatpak: universal packaging system for Linux
|
enable = false; # Flatpak: universal packaging system for Linux
|
||||||
packages = {
|
packages = {
|
||||||
sober.enable = false; # Roblox client
|
sober.enable = false; # Roblox client
|
||||||
warehouse.enable = true; # Flatpak manager
|
warehouse.enable = false; # Flatpak manager
|
||||||
flatseal.enable = true; # Flatpak permissions manager
|
flatseal.enable = false; # Flatpak permissions manager
|
||||||
upscaler.enable = false; # Upscaler: Upscale and enhance images
|
upscaler.enable = false; # Upscaler: Upscale and enhance images
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -22,14 +22,14 @@ _: {
|
|||||||
/*
|
/*
|
||||||
Calendar & Contacts
|
Calendar & Contacts
|
||||||
*/
|
*/
|
||||||
calendar.enable = true; # GNOME Calendar: calendar and contacts application
|
calendar.enable = false; # GNOME Calendar: calendar and contacts application
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Gaming
|
Gaming
|
||||||
*/
|
*/
|
||||||
gamemode.enable = true; # GameMode: optimizes system performance for gaming
|
gamemode.enable = false; # GameMode: optimizes system performance for gaming
|
||||||
gamescope.enable = false; # Gamescope: micro‑compositor for games
|
gamescope.enable = false; # Gamescope: micro‑compositor for games
|
||||||
steam.enable = true; # Steam: platform for buying and playing games
|
steam.enable = false; # Steam: platform for buying and playing games
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Media & Graphics
|
Media & Graphics
|
||||||
@@ -59,27 +59,26 @@ _: {
|
|||||||
Gaming
|
Gaming
|
||||||
*/
|
*/
|
||||||
prismlauncher.enable = false; # Prism Launcher: Minecraft modded launcher
|
prismlauncher.enable = false; # Prism Launcher: Minecraft modded launcher
|
||||||
spaceCadetPinball.enable = true; # SpaceCadet Pinball: classic pinball game
|
spaceCadetPinball.enable = false; # SpaceCadet Pinball: classic pinball game
|
||||||
ttySolitaire.enable = true; # TTY Solitaire: terminal‑based solitaire game
|
ttySolitaire.enable = false; # TTY Solitaire: terminal‑based solitaire game
|
||||||
heroic.enable = false; # Native GOG, Epic, and Amazon Games Launcher for Linux, Windows and Mac
|
heroic.enable = false; # Native GOG, Epic, and Amazon Games Launcher for Linux, Windows and Mac
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Development Tools
|
Development Tools
|
||||||
*/
|
*/
|
||||||
exercism.enable = true; # Exercism: coding practice platform
|
exercism.enable = false; # Exercism: coding practice platform
|
||||||
lazygit.enable = false; # Lazygit: simple TUI for Git
|
lazygit.enable = false; # Lazygit: simple TUI for Git
|
||||||
opencode.enable = false; # OpenCode: tools for coding and development
|
jan.enable = false; # Jan: AI chat UI
|
||||||
jan.enable = true; # Jan: AI chat UI
|
|
||||||
logisim-evolution.enable = false; # Logisim-Evolution: Digital logic designer and simulator
|
logisim-evolution.enable = false; # Logisim-Evolution: Digital logic designer and simulator
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Communication & Collaboration
|
Communication & Collaboration
|
||||||
*/
|
*/
|
||||||
mattermost.enable = true; # Mattermost: open‑source Slack alternative
|
mattermost.enable = false; # Mattermost: open‑source Slack alternative
|
||||||
slack.enable = false; # Slack: team communication and collaboration tool
|
slack.enable = false; # Slack: team communication and collaboration tool
|
||||||
tutanota.enable = true; # Tutanota: secure email client
|
tutanota.enable = false; # Tutanota: secure email client
|
||||||
signal.enable = true; # Signal: secure messaging app
|
signal.enable = false; # Signal: secure messaging app
|
||||||
teams.enable = true; # Teams-for-linux: Unofficial Microsoft Teams client for Linux
|
teams.enable = false; # Teams-for-linux: Unofficial Microsoft Teams client for Linux
|
||||||
ferdium.enable = false; # Ferdium: All your services in one place built by the community
|
ferdium.enable = false; # Ferdium: All your services in one place built by the community
|
||||||
notify.enable = false; # notify-client: Ntfy client application to receive everyday's notifications
|
notify.enable = false; # notify-client: Ntfy client application to receive everyday's notifications
|
||||||
appImages.fluxer.enable = false; # Fluxer: Discord alternative
|
appImages.fluxer.enable = false; # Fluxer: Discord alternative
|
||||||
@@ -88,26 +87,27 @@ _: {
|
|||||||
Productivity / Knowledge Management
|
Productivity / Knowledge Management
|
||||||
*/
|
*/
|
||||||
bitwarden.enable = false; # Bitwarden: password manager (desktop)
|
bitwarden.enable = false; # Bitwarden: password manager (desktop)
|
||||||
iotas.enable = true; # Iotas: lightweight notes manager
|
iotas.enable = false; # Iotas: lightweight notes manager
|
||||||
logseq.enable = false; # Logseq: knowledge base and outliner
|
# appImages.logseq.enable = false; # Logseq: knowledge base and outliner
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Media & Graphics
|
Media & Graphics
|
||||||
*/
|
*/
|
||||||
eyeOfGnome.enable = true; # Eye of GNOME: image viewer
|
eyeOfGnome.enable = false; # Eye of GNOME: image viewer
|
||||||
switcheroo.enable = false; # Switcheroo: file conversion tool
|
switcheroo.enable = false; # Switcheroo: file conversion tool
|
||||||
freetube.enable = false; # FreeTube: privacy‑friendly YouTube client
|
freetube.enable = false; # FreeTube: privacy‑friendly YouTube client
|
||||||
gimp.enable = false; # GIMP: GNU Image Manipulation Program
|
gimp.enable = false; # GIMP: GNU Image Manipulation Program
|
||||||
kdenlive.enable = false; # Kdenlive: video editing software
|
kdenlive.enable = false; # Kdenlive: video editing software
|
||||||
pixieditor.enable = false; # Pixieditor: Universal editor for all your 2D needs
|
pixieditor.enable = false; # Pixieditor: Universal editor for all your 2D needs
|
||||||
plex.enable = true; # Plex: media player and server client
|
plex.enable = false; # Plex: media player and server client
|
||||||
jellyfin.enable = true; # Jellyfin: foss media player
|
jellyfin.enable = false; # Jellyfin: foss media player
|
||||||
|
appImages.losslesscut.enable = false; # Losslesscut: Swiss army knife of lossless video/audio editing
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Utilities / Misc
|
Utilities / Misc
|
||||||
*/
|
*/
|
||||||
eddieAirVPN.enable = true; # Eddie AirVPN: VPN client
|
eddieAirVPN.enable = false; # Eddie AirVPN: VPN client
|
||||||
gnomeCalculator.enable = true; # gnomeCalculator: simple calculator
|
gnomeCalculator.enable = false; # gnomeCalculator: simple calculator
|
||||||
gedit.enable = false; # Gedit: GNOME text editor
|
gedit.enable = false; # Gedit: GNOME text editor
|
||||||
winboat.enable = false; # Winboat: Windows remote desktop via RDP
|
winboat.enable = false; # Winboat: Windows remote desktop via RDP
|
||||||
adb.enable = false; # ADB: Android SDK platform tools
|
adb.enable = false; # ADB: Android SDK platform tools
|
||||||
|
|||||||
@@ -15,6 +15,10 @@
|
|||||||
gitUsername = "GarandPLG";
|
gitUsername = "GarandPLG";
|
||||||
gitEmail = "my@email.com";
|
gitEmail = "my@email.com";
|
||||||
|
|
||||||
|
# User shell
|
||||||
|
# Availabe options: "fish", "bash"
|
||||||
|
shell = "fish";
|
||||||
|
|
||||||
# Hyprland Settings
|
# Hyprland Settings
|
||||||
# Examples:
|
# Examples:
|
||||||
# extraMonitorSettings = "monitor = Virtual-1,1920x1080@60,auto,1";
|
# extraMonitorSettings = "monitor = Virtual-1,1920x1080@60,auto,1";
|
||||||
@@ -37,9 +41,6 @@
|
|||||||
# Enable NFS
|
# Enable NFS
|
||||||
enableNFS = false;
|
enableNFS = false;
|
||||||
|
|
||||||
# Enable Printing Support
|
|
||||||
printEnable = false;
|
|
||||||
|
|
||||||
# Themes, waybar and animation.
|
# Themes, waybar and animation.
|
||||||
# Only uncomment your selection
|
# Only uncomment your selection
|
||||||
# The others much be commented out.
|
# The others much be commented out.
|
||||||
|
|||||||
@@ -2,11 +2,9 @@
|
|||||||
pkgs,
|
pkgs,
|
||||||
lib,
|
lib,
|
||||||
config,
|
config,
|
||||||
host,
|
profile,
|
||||||
...
|
...
|
||||||
}: let
|
}: {
|
||||||
inherit (import ../../hosts/${host}/variables.nix) profile;
|
|
||||||
in {
|
|
||||||
options.docker.enable = lib.mkEnableOption "Docker";
|
options.docker.enable = lib.mkEnableOption "Docker";
|
||||||
|
|
||||||
config.virtualisation.docker = lib.mkIf config.docker.enable {
|
config.virtualisation.docker = lib.mkIf config.docker.enable {
|
||||||
|
|||||||
@@ -6,11 +6,9 @@
|
|||||||
services.greetd = {
|
services.greetd = {
|
||||||
enable = true;
|
enable = true;
|
||||||
#vt = 3;
|
#vt = 3;
|
||||||
settings = {
|
settings.default_session = {
|
||||||
default_session = {
|
|
||||||
user = username;
|
user = username;
|
||||||
command = "${pkgs.tuigreet}/bin/tuigreet --time --cmd Hyprland"; # start Hyprland with a TUI login manager
|
command = "${pkgs.tuigreet}/bin/tuigreet --time --cmd Hyprland"; # start Hyprland with a TUI login manager
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,10 +1,9 @@
|
|||||||
{
|
{
|
||||||
host,
|
host,
|
||||||
|
hostId,
|
||||||
options,
|
options,
|
||||||
...
|
...
|
||||||
}: let
|
}: {
|
||||||
inherit (import ../../hosts/${host}/variables.nix) hostId;
|
|
||||||
in {
|
|
||||||
# Defensive assertion for hostname validity (clearer message at eval time)
|
# Defensive assertion for hostname validity (clearer message at eval time)
|
||||||
assertions = [
|
assertions = [
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,6 +1,4 @@
|
|||||||
{host, ...}: let
|
{enableNFS, ...}: {
|
||||||
inherit (import ../../hosts/${host}/variables.nix) enableNFS;
|
|
||||||
in {
|
|
||||||
services = {
|
services = {
|
||||||
rpcbind.enable = enableNFS;
|
rpcbind.enable = enableNFS;
|
||||||
nfs.server.enable = enableNFS;
|
nfs.server.enable = enableNFS;
|
||||||
|
|||||||
@@ -14,6 +14,8 @@
|
|||||||
appImagePackages = {
|
appImagePackages = {
|
||||||
fluxer = pkgs.callPackage ./fluxer.nix {};
|
fluxer = pkgs.callPackage ./fluxer.nix {};
|
||||||
helium = pkgs.callPackage ./helium.nix {};
|
helium = pkgs.callPackage ./helium.nix {};
|
||||||
|
# logseq = pkgs.callPackage ./logseq.nix {};
|
||||||
|
losslesscut = pkgs.callPackage ./losslesscut.nix {};
|
||||||
};
|
};
|
||||||
in {
|
in {
|
||||||
imports = builtins.attrValues (builtins.mapAttrs mkAppImagePackage appImagePackages);
|
imports = builtins.attrValues (builtins.mapAttrs mkAppImagePackage appImagePackages);
|
||||||
|
|||||||
@@ -5,10 +5,11 @@
|
|||||||
}: let
|
}: let
|
||||||
pname = "fluxer";
|
pname = "fluxer";
|
||||||
version = "canary";
|
version = "canary";
|
||||||
|
hash = "sha256-GdoBK+Z/d2quEIY8INM4IQy5tzzIBBM+3CgJXQn0qAw=";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://api.fluxer.app/dl/desktop/stable/linux/x64/latest/appimage";
|
url = "https://api.fluxer.app/dl/desktop/stable/linux/x64/latest/appimage";
|
||||||
sha256 = "sha256-GdoBK+Z/d2quEIY8INM4IQy5tzzIBBM+3CgJXQn0qAw=";
|
sha256 = hash;
|
||||||
};
|
};
|
||||||
appimageContents = appimageTools.extract {inherit pname version src;};
|
appimageContents = appimageTools.extract {inherit pname version src;};
|
||||||
|
|
||||||
|
|||||||
@@ -4,11 +4,12 @@
|
|||||||
fetchurl,
|
fetchurl,
|
||||||
}: let
|
}: let
|
||||||
pname = "helium";
|
pname = "helium";
|
||||||
version = "0.12.4.1";
|
version = "0.13.4.1";
|
||||||
|
hash = "sha256-z23up+T6bj6F+cQslmI92bEksIAw1OQHRIrmQSaaxY8=";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/imputnet/helium-linux/releases/download/${version}/helium-${version}-x86_64.AppImage";
|
url = "https://github.com/imputnet/helium-linux/releases/download/${version}/helium-${version}-x86_64.AppImage";
|
||||||
sha256 = "sha256-OgS8HkLBseFrEhNFJxMwp1bg0gzPdfY1VaySAAp7vq0=";
|
sha256 = hash;
|
||||||
};
|
};
|
||||||
appimageContents = appimageTools.extract {inherit pname version src;};
|
appimageContents = appimageTools.extract {inherit pname version src;};
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,40 @@
|
|||||||
|
{
|
||||||
|
lib,
|
||||||
|
appimageTools,
|
||||||
|
fetchurl,
|
||||||
|
}: let
|
||||||
|
pname = "logseq";
|
||||||
|
version = "0.10.15";
|
||||||
|
hash = "sha256-i5EQUvSW1ix+8NT8nCs6mGH2B9xF7G4mB7vBhDJ7JdE=";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "https://github.com/logseq/logseq/releases/download/${version}/Logseq-linux-x64-${version}.AppImage";
|
||||||
|
sha256 = hash;
|
||||||
|
};
|
||||||
|
appimageContents = appimageTools.extract {inherit pname version src;};
|
||||||
|
|
||||||
|
iconSize = "512x512";
|
||||||
|
in
|
||||||
|
appimageTools.wrapType2 {
|
||||||
|
inherit pname version src;
|
||||||
|
|
||||||
|
extraInstallCommands = ''
|
||||||
|
# mv $out/bin/${pname}-${version} $out/bin/${pname}
|
||||||
|
install -m 444 -D ${appimageContents}/${pname}.desktop $out/share/applications/${pname}.desktop
|
||||||
|
install -m 444 -D ${appimageContents}/usr/share/icons/hicolor/${iconSize}/apps/${pname}.png \
|
||||||
|
$out/share/icons/hicolor/${iconSize}/apps/${pname}.png
|
||||||
|
substituteInPlace $out/share/applications/${pname}.desktop \
|
||||||
|
--replace-fail 'Exec=AppRun' 'Exec=${pname}'
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Logseq";
|
||||||
|
homepage = "https://github.com/logseq/logseq";
|
||||||
|
license = licenses.gpl3;
|
||||||
|
platforms = ["x86_64-linux"];
|
||||||
|
sourceProvenance = with lib.sourceTypes; [binaryNativeCode];
|
||||||
|
maintainers = with lib.maintainers; [garand_plg];
|
||||||
|
};
|
||||||
|
}
|
||||||
|
# https://github.com/logseq/logseq/releases/download/0.10.15/Logseq-linux-x64-0.10.15.AppImage
|
||||||
|
|
||||||
@@ -0,0 +1,40 @@
|
|||||||
|
{
|
||||||
|
lib,
|
||||||
|
appimageTools,
|
||||||
|
fetchurl,
|
||||||
|
}: let
|
||||||
|
pname = "losslesscut";
|
||||||
|
version = "3.69.0";
|
||||||
|
hash = "sha256-F56q4nv/viWmVJpKcUR0EmtXwojO/DBwRvycYxOhJnY=";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "https://github.com/mifi/lossless-cut/releases/download/v${version}/LosslessCut-linux-x86_64.AppImage";
|
||||||
|
sha256 = hash;
|
||||||
|
};
|
||||||
|
appimageContents = appimageTools.extract {inherit pname version src;};
|
||||||
|
|
||||||
|
iconSize = "512x512";
|
||||||
|
in
|
||||||
|
appimageTools.wrapType2 {
|
||||||
|
inherit pname version src;
|
||||||
|
|
||||||
|
extraInstallCommands = ''
|
||||||
|
# mv $out/bin/${pname}-${version} $out/bin/${pname}
|
||||||
|
install -m 444 -D ${appimageContents}/${pname}.desktop $out/share/applications/${pname}.desktop
|
||||||
|
install -m 444 -D ${appimageContents}/usr/share/icons/hicolor/${iconSize}/apps/${pname}.png \
|
||||||
|
$out/share/icons/hicolor/${iconSize}/apps/${pname}.png
|
||||||
|
substituteInPlace $out/share/applications/${pname}.desktop \
|
||||||
|
--replace-fail 'Exec=AppRun' 'Exec=${pname}'
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Lossless cut";
|
||||||
|
homepage = "https://github.com/mifi/lossless-cut";
|
||||||
|
license = licenses.gpl2Only;
|
||||||
|
platforms = ["x86_64-linux"];
|
||||||
|
sourceProvenance = with lib.sourceTypes; [binaryNativeCode];
|
||||||
|
maintainers = with lib.maintainers; [garand_plg];
|
||||||
|
};
|
||||||
|
}
|
||||||
|
# https://github.com/mifi/lossless-cut/releases/download/v3.68.0/LosslessCut-linux-x86_64.AppImage
|
||||||
|
|
||||||
@@ -19,12 +19,11 @@
|
|||||||
gnomeCalculator = gnome-calculator;
|
gnomeCalculator = gnome-calculator;
|
||||||
gedit = gedit;
|
gedit = gedit;
|
||||||
iotas = iotas;
|
iotas = iotas;
|
||||||
logseq = logseq;
|
# logseq = logseq;
|
||||||
mattermost = mattermost-desktop;
|
mattermost = mattermost-desktop;
|
||||||
slack = slack;
|
slack = slack;
|
||||||
tutanota = tutanota-desktop;
|
tutanota = tutanota-desktop;
|
||||||
exercism = exercism;
|
exercism = exercism;
|
||||||
opencode = opencode;
|
|
||||||
jan = jan;
|
jan = jan;
|
||||||
lazygit = lazygit;
|
lazygit = lazygit;
|
||||||
prismlauncher = inputs.prismlauncher-cracked.packages.${system}.default;
|
prismlauncher = inputs.prismlauncher-cracked.packages.${system}.default;
|
||||||
@@ -32,7 +31,9 @@
|
|||||||
ttySolitaire = tty-solitaire;
|
ttySolitaire = tty-solitaire;
|
||||||
gimp = gimp;
|
gimp = gimp;
|
||||||
eyeOfGnome = eog;
|
eyeOfGnome = eog;
|
||||||
kdenlive = kdePackages.kdenlive.overrideAttrs (old: {
|
kdenlive =
|
||||||
|
kdePackages.kdenlive.overrideAttrs
|
||||||
|
(old: {
|
||||||
postInstall =
|
postInstall =
|
||||||
(old.postInstall or "")
|
(old.postInstall or "")
|
||||||
+ ''
|
+ ''
|
||||||
|
|||||||
@@ -1,18 +1,30 @@
|
|||||||
_: {
|
{shell, ...}: {
|
||||||
programs = {
|
programs = {
|
||||||
nano.enable = true;
|
nano.enable = true;
|
||||||
|
|
||||||
hyprland = {
|
hyprland = {
|
||||||
enable = true;
|
enable = true;
|
||||||
withUWSM = false;
|
withUWSM = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
fish.enable =
|
||||||
|
if shell == "fish"
|
||||||
|
then true
|
||||||
|
else false;
|
||||||
|
|
||||||
dconf.enable = true;
|
dconf.enable = true;
|
||||||
|
|
||||||
seahorse.enable = true;
|
seahorse.enable = true;
|
||||||
|
|
||||||
fuse.userAllowOther = true;
|
fuse.userAllowOther = true;
|
||||||
|
|
||||||
mtr.enable = true;
|
mtr.enable = true;
|
||||||
|
|
||||||
gnupg.agent = {
|
gnupg.agent = {
|
||||||
enable = true;
|
enable = true;
|
||||||
enableSSHSupport = true;
|
enableSSHSupport = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
nix-ld = {
|
nix-ld = {
|
||||||
enable = true;
|
enable = true;
|
||||||
# libraries = with pkgs; [
|
# libraries = with pkgs; [
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
{
|
{
|
||||||
pkgs,
|
pkgs,
|
||||||
lib,
|
lib,
|
||||||
host,
|
printEnable,
|
||||||
|
ensureDefaultPrinter,
|
||||||
|
ensurePrinters,
|
||||||
...
|
...
|
||||||
}: let
|
}: {
|
||||||
inherit (import ../../hosts/${host}/printers.nix) printEnable ensureDefaultPrinter ensurePrinters;
|
|
||||||
in {
|
|
||||||
services = lib.mkIf printEnable {
|
services = lib.mkIf printEnable {
|
||||||
printing = {
|
printing = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|||||||
+10
-8
@@ -18,10 +18,10 @@
|
|||||||
dedicatedServer.openFirewall = true;
|
dedicatedServer.openFirewall = true;
|
||||||
gamescopeSession = lib.mkIf config.gamescope.enable {
|
gamescopeSession = lib.mkIf config.gamescope.enable {
|
||||||
enable = true;
|
enable = true;
|
||||||
args = [
|
# args = [
|
||||||
"--rt"
|
# "--rt"
|
||||||
"--expose-wayland"
|
# "--expose-wayland"
|
||||||
];
|
# ];
|
||||||
};
|
};
|
||||||
extraCompatPackages = [pkgs.proton-ge-bin];
|
extraCompatPackages = [pkgs.proton-ge-bin];
|
||||||
};
|
};
|
||||||
@@ -29,10 +29,10 @@
|
|||||||
gamescope = lib.mkIf config.gamescope.enable {
|
gamescope = lib.mkIf config.gamescope.enable {
|
||||||
enable = true;
|
enable = true;
|
||||||
capSysNice = true;
|
capSysNice = true;
|
||||||
args = [
|
# args = [
|
||||||
"--rt"
|
# # "--rt"
|
||||||
"--expose-wayland"
|
# # "--expose-wayland"
|
||||||
];
|
# ];
|
||||||
};
|
};
|
||||||
|
|
||||||
gamemode = lib.mkIf config.gamemode.enable {
|
gamemode = lib.mkIf config.gamemode.enable {
|
||||||
@@ -41,3 +41,5 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
# gamescope -W 1920 -H 1080 -r 144 --force-grab-cursor -f --mangoapp --rt --expose-wayland --
|
||||||
|
|
||||||
|
|||||||
+10
-5
@@ -1,10 +1,8 @@
|
|||||||
{
|
{
|
||||||
pkgs,
|
pkgs,
|
||||||
host,
|
stylixImage,
|
||||||
...
|
...
|
||||||
}: let
|
}: {
|
||||||
inherit (import ../../hosts/${host}/variables.nix) stylixImage;
|
|
||||||
in {
|
|
||||||
# Styling Options
|
# Styling Options
|
||||||
stylix = {
|
stylix = {
|
||||||
enable = true;
|
enable = true;
|
||||||
@@ -36,7 +34,8 @@ in {
|
|||||||
popups = 12;
|
popups = 12;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
targets.limine = {
|
targets = {
|
||||||
|
limine = {
|
||||||
enable = true;
|
enable = true;
|
||||||
colors.enable = true;
|
colors.enable = true;
|
||||||
image.enable = true;
|
image.enable = true;
|
||||||
@@ -45,5 +44,11 @@ in {
|
|||||||
override = "tile";
|
override = "tile";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
kmscon = {
|
||||||
|
enable = false;
|
||||||
|
colors.enable = true;
|
||||||
|
fonts.enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
+10
-6
@@ -1,10 +1,8 @@
|
|||||||
{
|
{
|
||||||
host,
|
consoleKeyMap,
|
||||||
inputs,
|
inputs,
|
||||||
...
|
...
|
||||||
}: let
|
}: {
|
||||||
inherit (import ../../hosts/${host}/variables.nix) consoleKeyMap;
|
|
||||||
in {
|
|
||||||
nix = {
|
nix = {
|
||||||
nixPath = ["nixpkgs=${inputs.nixpkgs}"];
|
nixPath = ["nixpkgs=${inputs.nixpkgs}"];
|
||||||
settings = {
|
settings = {
|
||||||
@@ -14,8 +12,14 @@ in {
|
|||||||
"nix-command"
|
"nix-command"
|
||||||
"flakes"
|
"flakes"
|
||||||
];
|
];
|
||||||
substituters = ["https://hyprland.cachix.org"];
|
substituters = [
|
||||||
trusted-public-keys = ["hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="];
|
"https://hyprland.cachix.org"
|
||||||
|
"https://noctalia.cachix.org"
|
||||||
|
];
|
||||||
|
trusted-public-keys = [
|
||||||
|
"hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="
|
||||||
|
"noctalia.cachix.org-1:pCOR47nnMEo5thcxNDtzWpOxNFQsBRglJzxWPp3dkU4="
|
||||||
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
time.timeZone = "Europe/Warsaw";
|
time.timeZone = "Europe/Warsaw";
|
||||||
|
|||||||
+22
-4
@@ -5,10 +5,14 @@
|
|||||||
host,
|
host,
|
||||||
profile,
|
profile,
|
||||||
system,
|
system,
|
||||||
|
gitUsername,
|
||||||
|
shell,
|
||||||
|
extraMonitorSettings,
|
||||||
|
keyboardLayout,
|
||||||
|
gitEmail,
|
||||||
|
location,
|
||||||
...
|
...
|
||||||
}: let
|
}: {
|
||||||
inherit (import ../../hosts/${host}/variables.nix) gitUsername;
|
|
||||||
in {
|
|
||||||
imports = [inputs.home-manager.nixosModules.home-manager];
|
imports = [inputs.home-manager.nixosModules.home-manager];
|
||||||
home-manager = {
|
home-manager = {
|
||||||
useUserPackages = true;
|
useUserPackages = true;
|
||||||
@@ -21,6 +25,12 @@ in {
|
|||||||
host
|
host
|
||||||
profile
|
profile
|
||||||
system
|
system
|
||||||
|
extraMonitorSettings
|
||||||
|
shell
|
||||||
|
keyboardLayout
|
||||||
|
gitEmail
|
||||||
|
gitUsername
|
||||||
|
location
|
||||||
;
|
;
|
||||||
};
|
};
|
||||||
users.${username} = {
|
users.${username} = {
|
||||||
@@ -33,6 +43,10 @@ in {
|
|||||||
username = "${username}";
|
username = "${username}";
|
||||||
homeDirectory = "/home/${username}";
|
homeDirectory = "/home/${username}";
|
||||||
stateVersion = "25.11";
|
stateVersion = "25.11";
|
||||||
|
shell.enableFishIntegration =
|
||||||
|
if shell == "fish"
|
||||||
|
then true
|
||||||
|
else false;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -53,7 +67,11 @@ in {
|
|||||||
"gamemode"
|
"gamemode"
|
||||||
"lpadmin"
|
"lpadmin"
|
||||||
];
|
];
|
||||||
shell = pkgs.bash;
|
shell = with pkgs; (
|
||||||
|
if shell == "fish"
|
||||||
|
then fish
|
||||||
|
else bash
|
||||||
|
);
|
||||||
ignoreShellProgramCheck = true;
|
ignoreShellProgramCheck = true;
|
||||||
linger = true;
|
linger = true;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,6 +1,4 @@
|
|||||||
{host, ...}: let
|
{keyboardLayout, ...}: {
|
||||||
inherit (import ../../hosts/${host}/variables.nix) keyboardLayout;
|
|
||||||
in {
|
|
||||||
services.xserver = {
|
services.xserver = {
|
||||||
enable = true;
|
enable = true;
|
||||||
xkb = {
|
xkb = {
|
||||||
|
|||||||
@@ -12,6 +12,13 @@
|
|||||||
package = pkgs.anki;
|
package = pkgs.anki;
|
||||||
language = "pl_PL";
|
language = "pl_PL";
|
||||||
style = "native";
|
style = "native";
|
||||||
profiles."${username}".sync.username = username;
|
profiles."${username}" = {
|
||||||
|
default = true;
|
||||||
|
sync = {
|
||||||
|
username = username;
|
||||||
|
url = "https://ass.garandplg.com/";
|
||||||
|
autoSync = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,6 +9,7 @@
|
|||||||
upd = "nh os switch -H ${host} -d always";
|
upd = "nh os switch -H ${host} -d always";
|
||||||
upg = "nh os switch -H ${host} --update -d always";
|
upg = "nh os switch -H ${host} --update -d always";
|
||||||
upf = "sudo nix flake update --flake /home/${username}/garandos";
|
upf = "sudo nix flake update --flake /home/${username}/garandos";
|
||||||
|
upf-gh = "nix flake update --option access-tokens \"github.com=$(gh auth token)\" --flake /home/${username}/garandos";
|
||||||
upf-undo = "git -C /home/${username}/garandos restore /home/${username}/garandos/flake.lock";
|
upf-undo = "git -C /home/${username}/garandos restore /home/${username}/garandos/flake.lock";
|
||||||
upd-bt = "nh os boot -H ${host} -d always";
|
upd-bt = "nh os boot -H ${host} -d always";
|
||||||
upd-ts = "nh os test -H ${host} -d always";
|
upd-ts = "nh os test -H ${host} -d always";
|
||||||
@@ -140,8 +141,8 @@
|
|||||||
|
|
||||||
# Network aliases
|
# Network aliases
|
||||||
kssh-server = "kssh hp-t640-homeserver";
|
kssh-server = "kssh hp-t640-homeserver";
|
||||||
kssh-server-ts = "kssh hp-t640-homeserver-tailscale";
|
kssh-server-hs = "kssh hp-t640-homeserver-headscale";
|
||||||
ssh-server = "ssh hp-t640-homeserver";
|
ssh-server = "ssh hp-t640-homeserver";
|
||||||
ssh-server-ts = "ssh hp-t640-homeserver-tailscale";
|
ssh-server-hs = "ssh hp-t640-homeserver-headscale";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,9 @@
|
|||||||
_: {
|
{shell, ...}: {
|
||||||
programs.bash = {
|
programs.bash = {
|
||||||
enable = true;
|
enable =
|
||||||
|
if shell == "bash"
|
||||||
|
then true
|
||||||
|
else false;
|
||||||
enableCompletion = true;
|
enableCompletion = true;
|
||||||
# initExtra = ''
|
# initExtra = ''
|
||||||
# fastfetch
|
# fastfetch
|
||||||
|
|||||||
@@ -16,6 +16,7 @@
|
|||||||
batgrep
|
batgrep
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
home.sessionVariables = {
|
home.sessionVariables = {
|
||||||
MANPAGER = "sh -c 'col -bx | bat -l man -p'";
|
MANPAGER = "sh -c 'col -bx | bat -l man -p'";
|
||||||
MANROFFOPT = "-c";
|
MANROFFOPT = "-c";
|
||||||
|
|||||||
@@ -3,10 +3,12 @@ _: {
|
|||||||
./bash
|
./bash
|
||||||
./chromium
|
./chromium
|
||||||
./fastfetch
|
./fastfetch
|
||||||
|
./fish
|
||||||
./hyprland
|
./hyprland
|
||||||
./kitty
|
./kitty
|
||||||
./librewolf
|
./librewolf
|
||||||
./noctalia
|
./noctalia
|
||||||
|
./obsidian
|
||||||
./scripts
|
./scripts
|
||||||
./vscodium
|
./vscodium
|
||||||
./xdg
|
./xdg
|
||||||
@@ -16,16 +18,19 @@ _: {
|
|||||||
./btop.nix
|
./btop.nix
|
||||||
./cava.nix
|
./cava.nix
|
||||||
./easyeffects.nix
|
./easyeffects.nix
|
||||||
./emoji.nix
|
|
||||||
./eza.nix
|
./eza.nix
|
||||||
./fzf.nix
|
./fzf.nix
|
||||||
|
./gh.nix
|
||||||
./git.nix
|
./git.nix
|
||||||
./gtk.nix
|
./gtk.nix
|
||||||
./kdeConnect.nix
|
./kdeConnect.nix
|
||||||
./lutris.nix
|
./lutris.nix
|
||||||
|
./mangohud.nix
|
||||||
./nextcloud.nix
|
./nextcloud.nix
|
||||||
./obs-studio.nix
|
./obs-studio.nix
|
||||||
|
./ollama.nix
|
||||||
./onlyoffice.nix
|
./onlyoffice.nix
|
||||||
|
./opencode.nix
|
||||||
./qt.nix
|
./qt.nix
|
||||||
./ssh.nix
|
./ssh.nix
|
||||||
./starship.nix
|
./starship.nix
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -1,9 +1,15 @@
|
|||||||
# Eza is a ls replacement
|
{shell, ...}: {
|
||||||
{
|
|
||||||
programs.eza = {
|
programs.eza = {
|
||||||
enable = true;
|
enable = true;
|
||||||
icons = "auto";
|
icons = "auto";
|
||||||
enableBashIntegration = true;
|
enableFishIntegration =
|
||||||
|
if shell == "fish"
|
||||||
|
then true
|
||||||
|
else false;
|
||||||
|
enableBashIntegration =
|
||||||
|
if shell == "bash"
|
||||||
|
then true
|
||||||
|
else false;
|
||||||
git = true;
|
git = true;
|
||||||
|
|
||||||
extraOptions = [
|
extraOptions = [
|
||||||
|
|||||||
@@ -122,9 +122,7 @@ _: {
|
|||||||
{
|
{
|
||||||
type = "command";
|
type = "command";
|
||||||
key = "│ IN";
|
key = "│ IN";
|
||||||
text =
|
text = ''
|
||||||
#bash
|
|
||||||
''
|
|
||||||
birth_install=$(stat -c %W /)
|
birth_install=$(stat -c %W /)
|
||||||
if [ "$birth_install" -gt 0 ]; then
|
if [ "$birth_install" -gt 0 ]; then
|
||||||
echo "Installed $(date -d @"$birth_install" +"%Y-%m-%d")"
|
echo "Installed $(date -d @"$birth_install" +"%Y-%m-%d")"
|
||||||
@@ -136,9 +134,7 @@ _: {
|
|||||||
{
|
{
|
||||||
type = "command";
|
type = "command";
|
||||||
key = "│ ├ ";
|
key = "│ ├ ";
|
||||||
text =
|
text = ''
|
||||||
#bash
|
|
||||||
''
|
|
||||||
birth_install=$(stat -c %W /)
|
birth_install=$(stat -c %W /)
|
||||||
current=$(date +%s)
|
current=$(date +%s)
|
||||||
delta=$((current - birth_install))
|
delta=$((current - birth_install))
|
||||||
|
|||||||
@@ -0,0 +1,141 @@
|
|||||||
|
{
|
||||||
|
username,
|
||||||
|
host,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
programs.fish.shellAliases = {
|
||||||
|
# GarandOS aliases
|
||||||
|
pullos = "git -C /home/${username}/garandos pull";
|
||||||
|
upd = "nh os switch -H ${host} -d always";
|
||||||
|
upg = "nh os switch -H ${host} --update -d always";
|
||||||
|
upf = "sudo nix flake update --flake /home/${username}/garandos";
|
||||||
|
upf-gh = "nix flake update --option access-tokens \"github.com=$(gh auth token)\" --flake /home/${username}/garandos";
|
||||||
|
upf-undo = "git -C /home/${username}/garandos restore /home/${username}/garandos/flake.lock";
|
||||||
|
upd-bt = "nh os boot -H ${host} -d always";
|
||||||
|
upd-ts = "nh os test -H ${host} -d always";
|
||||||
|
upd-bd = "nh os build -H ${host} -d always";
|
||||||
|
tui = "garandos-tui";
|
||||||
|
ncg = "nh clean all --optimise";
|
||||||
|
|
||||||
|
# Development aliases
|
||||||
|
## Django
|
||||||
|
srvenv = "source .venv/bin/activate";
|
||||||
|
"..srvenv" = "source ../.venv/bin/activate";
|
||||||
|
uv-add = "uv add -r requirements.txt";
|
||||||
|
pm = "uv run manage.py";
|
||||||
|
pm-rs = "uv run manage.py runserver";
|
||||||
|
pm-mg = "uv run manage.py migrate";
|
||||||
|
pm-mm = "uv run manage.py makemigrations";
|
||||||
|
pm-sq = "uv run manage.py sqlmigrate";
|
||||||
|
f8 = "uv run flake8 .";
|
||||||
|
## JavaScript/TypeScript
|
||||||
|
bbr = "bun --bun run";
|
||||||
|
## Git
|
||||||
|
"ga." = "git add .";
|
||||||
|
mkgidf = "git add . --intent-to-add . && git diff > git-diff.txt";
|
||||||
|
|
||||||
|
# Development aliases for nix flake
|
||||||
|
nd = "nix develop";
|
||||||
|
nb = "nix build .";
|
||||||
|
nr = "nix run .";
|
||||||
|
nbr = "nix build . && nix run .";
|
||||||
|
nbd = "nix build .#develop";
|
||||||
|
nrd = "nix run .#develop";
|
||||||
|
nbrd = "nix build .#develop && nix run .#develop";
|
||||||
|
|
||||||
|
# Development aliases for docker
|
||||||
|
dcu = "docker compose up -d";
|
||||||
|
dcd = "docker compose down";
|
||||||
|
dcb = "docker compose build";
|
||||||
|
dcub = "docker compose up -d --build";
|
||||||
|
|
||||||
|
# System aliases
|
||||||
|
# flush-codium = "sudo killall codium && sudo rm -rf ~/.config/VSCodium/Cache && sudo rm -rf ~/.config/VSCodium/CachedData";
|
||||||
|
kys = "systemctl poweroff";
|
||||||
|
jezus = "systemctl reboot";
|
||||||
|
ookla = "speedtest";
|
||||||
|
hypr-cli = "hyprctl clients";
|
||||||
|
|
||||||
|
# Navigation aliases
|
||||||
|
".." = "cd ..";
|
||||||
|
"..." = "cd ../..";
|
||||||
|
"...." = "cd ../../..";
|
||||||
|
"....." = "cd ../../../..";
|
||||||
|
|
||||||
|
# Modifies commands
|
||||||
|
cat = "bat";
|
||||||
|
cp = "cp -i";
|
||||||
|
mv = "mv -i";
|
||||||
|
rm = "trash -v";
|
||||||
|
mkdir = "mkdir -p";
|
||||||
|
ps = "ps auxf";
|
||||||
|
ping = "ping -c 10";
|
||||||
|
less = "less -R";
|
||||||
|
cls = "clear";
|
||||||
|
multitail = "multitail --no-repeat -c";
|
||||||
|
freshclam = "sudo freshclam";
|
||||||
|
|
||||||
|
# Alias"s for multiple directory listing commands
|
||||||
|
la = "eza -alh --icons"; # show hidden files
|
||||||
|
ls = "eza -aF --icons --color=always"; # add colors and file type extensions
|
||||||
|
lx = "eza -lh --icons --sort=extension"; # sort by extension
|
||||||
|
lk = "eza -lh --icons --sort=size --reverse"; # sort by size
|
||||||
|
lc = "eza -lh --icons --sort=changed"; # sort by change time
|
||||||
|
lu = "eza -lh --icons --sort=accessed"; # sort by access time
|
||||||
|
lr = "eza -lh --icons --recurse"; # recursive ls
|
||||||
|
lt = "eza -lh --icons --sort=modified"; # sort by date
|
||||||
|
lm = "eza -alh --icons | more"; # pipe through "more"
|
||||||
|
lw = "eza -xh --icons"; # wide listing format
|
||||||
|
ll = "eza -lh --icons"; # long listing format
|
||||||
|
labc = "eza -lah --icons --sort=name"; # alphabetical sort
|
||||||
|
lf = "eza -lh --icons | grep -v '^d'"; # files only (przybliżenie)
|
||||||
|
ldir = "eza -lh --icons --only-dirs"; # directories only
|
||||||
|
lla = "eza -alh --icons"; # List and Hidden Files
|
||||||
|
las = "eza -a --icons"; # Hidden Files
|
||||||
|
lls = "eza -lh --icons"; # List
|
||||||
|
|
||||||
|
# chmod commands
|
||||||
|
mx = "chmod a+x";
|
||||||
|
"000" = "chmod -R 000";
|
||||||
|
"644" = "chmod -R 644";
|
||||||
|
"666" = "chmod -R 666";
|
||||||
|
"755" = "chmod -R 755";
|
||||||
|
"777" = "chmod -R 777";
|
||||||
|
|
||||||
|
# Search command line history
|
||||||
|
h = "history | grep ";
|
||||||
|
|
||||||
|
# Search running processes
|
||||||
|
p = "ps aux | grep ";
|
||||||
|
topcpu = "/bin/ps -eo pcpu,pid,user,args | sort -k 1 -r | head -10";
|
||||||
|
|
||||||
|
# Search files in the current folder
|
||||||
|
f = "find . | grep ";
|
||||||
|
|
||||||
|
# Alias"s to show disk space and space used in a folder
|
||||||
|
diskspace = "du -S | sort -n -r |more";
|
||||||
|
folders = "du -h --max-depth=1";
|
||||||
|
folderssort = "find . -maxdepth 1 -type d -print0 | xargs -0 du -sk | sort -rn";
|
||||||
|
tree = "tree -CAhF --dirsfirst";
|
||||||
|
treed = "tree -CAFd";
|
||||||
|
mountedinfo = "df -hT";
|
||||||
|
|
||||||
|
# fix kitty ssh connection
|
||||||
|
kssh = "kitty +kitten ssh";
|
||||||
|
|
||||||
|
docker-clean = "docker container prune -f ; docker image prune -f ; docker network prune -f ; docker volume prune -f";
|
||||||
|
|
||||||
|
# Remove a directory and all files
|
||||||
|
rmd = "/bin/rm --recursive --force --verbose ";
|
||||||
|
|
||||||
|
# Fun aliases
|
||||||
|
pasjans = "ttysolitaire -p 10 --no-background-color";
|
||||||
|
fc = "fortune | cowsay";
|
||||||
|
|
||||||
|
# Network aliases
|
||||||
|
kssh-server = "kssh hp-t640-homeserver";
|
||||||
|
kssh-server-hs = "kssh hp-t640-homeserver-headscale";
|
||||||
|
ssh-server = "ssh hp-t640-homeserver";
|
||||||
|
ssh-server-hs = "ssh hp-t640-homeserver-headscale";
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,39 @@
|
|||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
shell,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
programs = {
|
||||||
|
fish = {
|
||||||
|
enable =
|
||||||
|
if shell == "fish"
|
||||||
|
then true
|
||||||
|
else false;
|
||||||
|
package = pkgs.fish;
|
||||||
|
generateCompletions = true;
|
||||||
|
interactiveShellInit = ''
|
||||||
|
set fish_greeting
|
||||||
|
# fastfetch
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
nix-your-shell = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.nix-your-shell;
|
||||||
|
enableFishIntegration =
|
||||||
|
if shell == "fish"
|
||||||
|
then true
|
||||||
|
else false;
|
||||||
|
nix-output-monitor = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.nix-output-monitor;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
imports = [
|
||||||
|
./aliases.nix
|
||||||
|
./functions.nix
|
||||||
|
./plugins.nix
|
||||||
|
];
|
||||||
|
}
|
||||||
@@ -0,0 +1,236 @@
|
|||||||
|
_: {
|
||||||
|
programs.fish.functions = {
|
||||||
|
# Count files, links and directories in the current folder
|
||||||
|
countfiles = {
|
||||||
|
body = ''
|
||||||
|
for t in files links directories
|
||||||
|
# $t[1] – pierwszy znak (f, l, d)
|
||||||
|
echo (find . -type $t[1] | wc -l) $t
|
||||||
|
end
|
||||||
|
'';
|
||||||
|
description = "Count files, links and directories in the current folder";
|
||||||
|
};
|
||||||
|
|
||||||
|
# Tail all text logs in /var/log
|
||||||
|
logs = {
|
||||||
|
body = ''
|
||||||
|
sudo find /var/log -type f -exec file {} \; \
|
||||||
|
| grep 'text' \
|
||||||
|
| cut -d' ' -f1 \
|
||||||
|
| sed -e 's/:$//g' \
|
||||||
|
| grep -v '[0-9]$' \
|
||||||
|
| xargs tail -f
|
||||||
|
'';
|
||||||
|
description = "Tail all text logs in /var/log";
|
||||||
|
};
|
||||||
|
|
||||||
|
# Quick directory creation and navigation
|
||||||
|
mkcd = {
|
||||||
|
body = ''
|
||||||
|
mkdir -p $argv[1]; and cd $argv[1]
|
||||||
|
'';
|
||||||
|
description = "Create a directory and cd into it";
|
||||||
|
};
|
||||||
|
|
||||||
|
# Extract various archive formats
|
||||||
|
extract = {
|
||||||
|
body = ''
|
||||||
|
for archive in $argv
|
||||||
|
if test -f $archive
|
||||||
|
switch $archive
|
||||||
|
case *.tar.bz2
|
||||||
|
tar xvjf $archive
|
||||||
|
case *.tar.gz
|
||||||
|
tar xvzf $archive
|
||||||
|
case *.bz2
|
||||||
|
bunzip2 $archive
|
||||||
|
case *.rar
|
||||||
|
unrar x $archive
|
||||||
|
case *.gz
|
||||||
|
gunzip $archive
|
||||||
|
case *.tar
|
||||||
|
tar xvf $archive
|
||||||
|
case *.tbz2
|
||||||
|
tar xvjf $archive
|
||||||
|
case *.tgz
|
||||||
|
tar xvzf $archive
|
||||||
|
case *.zip
|
||||||
|
unzip $archive
|
||||||
|
case *.Z
|
||||||
|
uncompress $archive
|
||||||
|
case *.7z
|
||||||
|
7z x $archive
|
||||||
|
case '*'
|
||||||
|
echo "don't know how to extract '$archive'..."
|
||||||
|
end
|
||||||
|
else
|
||||||
|
echo "'$archive' is not a valid file!"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
'';
|
||||||
|
description = "Extract various archive formats";
|
||||||
|
};
|
||||||
|
|
||||||
|
# Find files quickly
|
||||||
|
ff = {
|
||||||
|
body = ''
|
||||||
|
if test -n "$argv[1]"
|
||||||
|
find . -type f -name "*$argv[1]*"
|
||||||
|
else
|
||||||
|
echo "Usage: ff <pattern>"
|
||||||
|
end
|
||||||
|
'';
|
||||||
|
description = "Find files matching a pattern";
|
||||||
|
};
|
||||||
|
|
||||||
|
# Find directories quickly
|
||||||
|
fd = {
|
||||||
|
body = ''
|
||||||
|
if test -n "$argv[1]"
|
||||||
|
find . -type d -name "*$argv[1]*"
|
||||||
|
else
|
||||||
|
echo "Usage: fd <pattern>"
|
||||||
|
end
|
||||||
|
'';
|
||||||
|
description = "Find directories matching a pattern";
|
||||||
|
};
|
||||||
|
|
||||||
|
# IP address lookup
|
||||||
|
whatismyip = {
|
||||||
|
body = ''
|
||||||
|
# Internal IP
|
||||||
|
if command -v ip >/dev/null
|
||||||
|
echo -n "Internal IP: "
|
||||||
|
ip addr show wlan0 | grep "inet " | awk '{print $2}' | cut -d/ -f1
|
||||||
|
else
|
||||||
|
echo -n "Internal IP: "
|
||||||
|
ifconfig wlan0 | grep "inet " | awk '{print $2}'
|
||||||
|
end
|
||||||
|
|
||||||
|
# External IP
|
||||||
|
echo -n "External IP: "
|
||||||
|
curl -4 ifconfig.me
|
||||||
|
'';
|
||||||
|
description = "Show internal and external IP addresses";
|
||||||
|
};
|
||||||
|
|
||||||
|
# Search for text in all files in the current folder
|
||||||
|
ftext = {
|
||||||
|
body = ''
|
||||||
|
if test -n "$argv[1]"
|
||||||
|
grep -iIHrn --color=always "$argv[1]" . | less -r
|
||||||
|
else
|
||||||
|
echo "Usage: ftext <search term>"
|
||||||
|
end
|
||||||
|
'';
|
||||||
|
description = "Search text in files, showing matches with highlighting";
|
||||||
|
};
|
||||||
|
|
||||||
|
# Copy file with a progress bar
|
||||||
|
cpp = {
|
||||||
|
body = ''
|
||||||
|
set -e
|
||||||
|
# Use strace to monitor cp progress
|
||||||
|
strace -q -ewrite cp -- $argv[1] $argv[2] 2>&1 |
|
||||||
|
awk '
|
||||||
|
{
|
||||||
|
count += $NF
|
||||||
|
if (count % 10 == 0) {
|
||||||
|
percent = count / total_size * 100
|
||||||
|
printf "%3d%% [", percent
|
||||||
|
for (i=0;i<=percent;i++) printf "="
|
||||||
|
printf ">"
|
||||||
|
for (i=percent;i<100;i++) printf " "
|
||||||
|
printf "]\r"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
END { print "" }' total_size="$(stat -c "%s" $argv[1])" count=0
|
||||||
|
'';
|
||||||
|
description = "Copy a file with a visual progress bar";
|
||||||
|
};
|
||||||
|
|
||||||
|
# Copy and go to the directory
|
||||||
|
cpg = {
|
||||||
|
body = ''
|
||||||
|
cp $argv[1] $argv[2]
|
||||||
|
if test -d $argv[2]
|
||||||
|
cd $argv[2]
|
||||||
|
end
|
||||||
|
'';
|
||||||
|
description = "Copy a file and cd into the destination directory if it's a directory";
|
||||||
|
};
|
||||||
|
|
||||||
|
# Move and go to the directory
|
||||||
|
mvg = {
|
||||||
|
body = ''
|
||||||
|
mv $argv[1] $argv[2]
|
||||||
|
if test -d $argv[2]
|
||||||
|
cd $argv[2]
|
||||||
|
end
|
||||||
|
'';
|
||||||
|
description = "Move a file and cd into the destination directory if it's a directory";
|
||||||
|
};
|
||||||
|
|
||||||
|
# Create and go to the directory
|
||||||
|
mkdirg = {
|
||||||
|
body = ''
|
||||||
|
mkdir -p $argv[1]; and cd $argv[1]
|
||||||
|
'';
|
||||||
|
description = "Create a directory and cd into it";
|
||||||
|
};
|
||||||
|
|
||||||
|
# Go up N directories (e.g. up 4)
|
||||||
|
up = {
|
||||||
|
body = ''
|
||||||
|
set limit $argv[1]
|
||||||
|
if test -z "$limit"
|
||||||
|
set limit 1
|
||||||
|
end
|
||||||
|
set path (pwd)
|
||||||
|
for i in (seq $limit)
|
||||||
|
set path (dirname $path)
|
||||||
|
end
|
||||||
|
cd $path
|
||||||
|
'';
|
||||||
|
description = "Go up N directories";
|
||||||
|
};
|
||||||
|
|
||||||
|
# cd with automatic ls after each cd
|
||||||
|
cd = {
|
||||||
|
body = ''
|
||||||
|
builtin cd $argv
|
||||||
|
if test $status -eq 0
|
||||||
|
ls
|
||||||
|
end
|
||||||
|
'';
|
||||||
|
description = "cd with automatic ls";
|
||||||
|
};
|
||||||
|
|
||||||
|
# Return the last two components of the working directory
|
||||||
|
pwdtail = {
|
||||||
|
body = ''
|
||||||
|
pwd | awk -F/ '{nlast = NF - 1; print $nlast "/" $NF}'
|
||||||
|
'';
|
||||||
|
description = "Show the last two components of the current path";
|
||||||
|
};
|
||||||
|
|
||||||
|
# Download video via ffmpeg
|
||||||
|
ffmpeg_dl = {
|
||||||
|
body = ''
|
||||||
|
if count $argv != 3
|
||||||
|
echo "Usage: ffmpeg_dl <url> <name> <fs_path>"
|
||||||
|
return 1
|
||||||
|
end
|
||||||
|
set url $argv[1]
|
||||||
|
set name $argv[2]
|
||||||
|
set fs_path $argv[3]
|
||||||
|
|
||||||
|
mkdir -p $fs_path
|
||||||
|
set output "$fs_path/$name.mp4"
|
||||||
|
|
||||||
|
ffmpeg -i $url -c copy $output
|
||||||
|
'';
|
||||||
|
description = "Download a video using ffmpeg to a given location";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
{pkgs, ...}: {
|
||||||
|
programs.fish.plugins = [
|
||||||
|
# {
|
||||||
|
# name = "z";
|
||||||
|
# src = pkgs.fetchFromGitHub {
|
||||||
|
# owner = "jethrokuan";
|
||||||
|
# repo = "z";
|
||||||
|
# rev = "ddeb28a7b6a1f0ec6dae40c636e5ca4908ad160a";
|
||||||
|
# sha256 = "0c5i7sdrsp0q3vbziqzdyqn4fmp235ax4mn4zslrswvn8g3fvdyh";
|
||||||
|
# };
|
||||||
|
# }
|
||||||
|
|
||||||
|
# # oh-my-fish plugins are stored in their own repositories, which
|
||||||
|
# # makes them simple to import into home-manager.
|
||||||
|
# {
|
||||||
|
# name = "fasd";
|
||||||
|
# src = pkgs.fetchFromGitHub {
|
||||||
|
# owner = "oh-my-fish";
|
||||||
|
# repo = "plugin-fasd";
|
||||||
|
# rev = "38a5b6b6011106092009549e52249c6d6f501fba";
|
||||||
|
# sha256 = "06v37hqy5yrv5a6ssd1p3cjd9y3hnp19d3ab7dag56fs1qmgyhbs";
|
||||||
|
# };
|
||||||
|
# }
|
||||||
|
];
|
||||||
|
}
|
||||||
+9
-19
@@ -1,24 +1,14 @@
|
|||||||
# Fzf is a general-purpose command-line fuzzy finder.
|
{shell, ...}: {
|
||||||
{
|
|
||||||
config,
|
|
||||||
lib,
|
|
||||||
...
|
|
||||||
}: let
|
|
||||||
accent = "#" + config.lib.stylix.colors.base0D;
|
|
||||||
foreground = "#" + config.lib.stylix.colors.base05;
|
|
||||||
muted = "#" + config.lib.stylix.colors.base03;
|
|
||||||
in {
|
|
||||||
programs.fzf = {
|
programs.fzf = {
|
||||||
enable = true;
|
enable = true;
|
||||||
enableBashIntegration = true;
|
enableFishIntegration =
|
||||||
colors = lib.mkForce {
|
if shell == "fish"
|
||||||
"fg+" = accent;
|
then true
|
||||||
"bg+" = "-1";
|
else false;
|
||||||
"fg" = foreground;
|
enableBashIntegration =
|
||||||
"bg" = "-1";
|
if shell == "bash"
|
||||||
"prompt" = muted;
|
then true
|
||||||
"pointer" = accent;
|
else false;
|
||||||
};
|
|
||||||
defaultOptions = [
|
defaultOptions = [
|
||||||
"--margin=1"
|
"--margin=1"
|
||||||
"--layout=reverse"
|
"--layout=reverse"
|
||||||
|
|||||||
@@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
gitUsername,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
programs.gh = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.gh;
|
||||||
|
hosts."github.com" = {
|
||||||
|
git_protocol = "https";
|
||||||
|
users = [
|
||||||
|
"${gitUsername}"
|
||||||
|
];
|
||||||
|
user = "${gitUsername}";
|
||||||
|
};
|
||||||
|
settings = {
|
||||||
|
git_protocol = "https";
|
||||||
|
version = "1";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -1,6 +1,8 @@
|
|||||||
{host, ...}: let
|
{
|
||||||
inherit (import ../../hosts/${host}/variables.nix) gitUsername gitEmail;
|
gitUsername,
|
||||||
in {
|
gitEmail,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
programs.git = {
|
programs.git = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
|
|||||||
@@ -5,11 +5,6 @@
|
|||||||
package = pkgs.papirus-icon-theme;
|
package = pkgs.papirus-icon-theme;
|
||||||
};
|
};
|
||||||
gtk3.extraConfig.gtk-application-prefer-dark-theme = 1;
|
gtk3.extraConfig.gtk-application-prefer-dark-theme = 1;
|
||||||
gtk4 = {
|
gtk4.extraConfig.gtk-application-prefer-dark-theme = 1;
|
||||||
theme = null;
|
|
||||||
extraConfig = {
|
|
||||||
gtk-application-prefer-dark-theme = 1;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,11 +1,9 @@
|
|||||||
{
|
{
|
||||||
host,
|
extraMonitorSettings,
|
||||||
config,
|
keyboardLayout,
|
||||||
pkgs,
|
pkgs,
|
||||||
...
|
...
|
||||||
}: let
|
}: {
|
||||||
inherit (import ../../../hosts/${host}/variables.nix) extraMonitorSettings keyboardLayout;
|
|
||||||
in {
|
|
||||||
systemd.user.targets.hyprland-session.Unit.Wants = [
|
systemd.user.targets.hyprland-session.Unit.Wants = [
|
||||||
"xdg-desktop-autostart.target"
|
"xdg-desktop-autostart.target"
|
||||||
];
|
];
|
||||||
@@ -64,8 +62,8 @@ in {
|
|||||||
gaps_out = 8;
|
gaps_out = 8;
|
||||||
border_size = 2;
|
border_size = 2;
|
||||||
resize_on_border = true;
|
resize_on_border = true;
|
||||||
"col.active_border" = "rgb(${config.lib.stylix.colors.base08}) rgb(${config.lib.stylix.colors.base0C}) 45deg";
|
# "col.active_border" = "rgb(${config.lib.stylix.colors.base08}) rgb(${config.lib.stylix.colors.base0C}) 45deg";
|
||||||
"col.inactive_border" = "rgb(${config.lib.stylix.colors.base01})";
|
# "col.inactive_border" = "rgb(${config.lib.stylix.colors.base01})";
|
||||||
};
|
};
|
||||||
|
|
||||||
misc = {
|
misc = {
|
||||||
@@ -107,7 +105,7 @@ in {
|
|||||||
enabled = true;
|
enabled = true;
|
||||||
range = 4;
|
range = 4;
|
||||||
render_power = 3;
|
render_power = 3;
|
||||||
color = "rgba(1a1a1aee)";
|
# color = "rgba(1a1a1aee)";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,15 @@
|
|||||||
{pkgs, ...}: {
|
{
|
||||||
|
pkgs,
|
||||||
|
shell,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
programs.kitty = {
|
programs.kitty = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.kitty;
|
package = pkgs.kitty;
|
||||||
|
shellIntegration.enableFishIntegration =
|
||||||
|
if shell == "fish"
|
||||||
|
then true
|
||||||
|
else false;
|
||||||
};
|
};
|
||||||
|
|
||||||
imports = [
|
imports = [
|
||||||
|
|||||||
@@ -0,0 +1,72 @@
|
|||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
options.mangohud.enable = lib.mkEnableOption "MangoHud";
|
||||||
|
|
||||||
|
config = lib.mkIf config.mangohud.enable {
|
||||||
|
programs.mangohud = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.mangohud;
|
||||||
|
settings = lib.mkForce {
|
||||||
|
position = "top-right";
|
||||||
|
background_alpha = 0.4;
|
||||||
|
font_size = 18;
|
||||||
|
round_corners = 8;
|
||||||
|
no_display = 0;
|
||||||
|
|
||||||
|
gpu_color = "2e9ef4";
|
||||||
|
cpu_color = "39d353";
|
||||||
|
vram_color = "ad3aff";
|
||||||
|
ram_color = "c0c0c0";
|
||||||
|
engine_color = "eb5454";
|
||||||
|
frametime_color = "e8c446";
|
||||||
|
text_color = "ffffff";
|
||||||
|
background_color = "020202";
|
||||||
|
media_player_color = "ffffff";
|
||||||
|
|
||||||
|
fps_color_change = 1;
|
||||||
|
fps_color = "39d353,e8c446,eb5454";
|
||||||
|
fps_value = "60,30";
|
||||||
|
|
||||||
|
fps = 1;
|
||||||
|
fps_only = 0;
|
||||||
|
|
||||||
|
gpu_stats = 1;
|
||||||
|
gpu_load_change = 1;
|
||||||
|
gpu_load_value = "60,90";
|
||||||
|
gpu_load_color = "39d353,e8c446,eb5454";
|
||||||
|
gpu_temp = 1;
|
||||||
|
gpu_core_clock = 1;
|
||||||
|
gpu_mem_clock = 0;
|
||||||
|
gpu_power = 1;
|
||||||
|
gpu_name = 1;
|
||||||
|
vram = 1;
|
||||||
|
|
||||||
|
cpu_stats = 1;
|
||||||
|
cpu_load_change = 1;
|
||||||
|
cpu_load_value = "60,90";
|
||||||
|
cpu_load_color = "39d353,e8c446,eb5454";
|
||||||
|
cpu_temp = 1;
|
||||||
|
cpu_mhz = 1;
|
||||||
|
core_load = 0;
|
||||||
|
|
||||||
|
ram = 1;
|
||||||
|
|
||||||
|
frametime = 1;
|
||||||
|
frame_timing = 1;
|
||||||
|
histogram = 0;
|
||||||
|
|
||||||
|
engine_version = 1;
|
||||||
|
vulkan_driver = 1;
|
||||||
|
arch = 0;
|
||||||
|
|
||||||
|
fps_limit = 0;
|
||||||
|
toggle_hud = "Shift_R+F12";
|
||||||
|
toggle_fps_limit = "Shift_L+F1";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -1,7 +1,22 @@
|
|||||||
{lib, ...}: let
|
{
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
sourceUrl = "https://github.com/noctalia-dev/noctalia-plugins";
|
sourceUrl = "https://github.com/noctalia-dev/noctalia-plugins";
|
||||||
in {
|
in {
|
||||||
programs.noctalia-shell = lib.mkForce {
|
options.nooctalia-plugins = {
|
||||||
|
mini-docker.enable = lib.mkEnableOption "Mini docker plugin";
|
||||||
|
timer.enable = lib.mkEnableOption "Timer plugin";
|
||||||
|
keybind-cheatsheet.enable = lib.mkEnableOption "Keybind cheatsheet plugin";
|
||||||
|
kde-connect.enable = lib.mkEnableOption "KDE Connect plugin";
|
||||||
|
screen-recorder.enable = lib.mkEnableOption "Screen-recorder plugin";
|
||||||
|
screenshot.enable = lib.mkEnableOption "Screenshot plugin";
|
||||||
|
ntfy-notifications.enable = lib.mkEnableOption "ntfy notifications plugin";
|
||||||
|
tailscale.enable = lib.mkEnableOption "Tailscale plugin";
|
||||||
|
};
|
||||||
|
|
||||||
|
config.programs.noctalia-shell = lib.mkForce {
|
||||||
plugins = {
|
plugins = {
|
||||||
sources = [
|
sources = [
|
||||||
{
|
{
|
||||||
@@ -11,31 +26,35 @@ in {
|
|||||||
}
|
}
|
||||||
];
|
];
|
||||||
states = {
|
states = {
|
||||||
mini-docker = {
|
mini-docker = lib.mkIf config.nooctalia-plugins.mini-docker.enable {
|
||||||
enabled = true;
|
enabled = true;
|
||||||
sourceUrl = sourceUrl;
|
sourceUrl = sourceUrl;
|
||||||
};
|
};
|
||||||
timer = {
|
timer = lib.mkIf config.nooctalia-plugins.timer.enable {
|
||||||
enabled = true;
|
enabled = true;
|
||||||
sourceUrl = sourceUrl;
|
sourceUrl = sourceUrl;
|
||||||
};
|
};
|
||||||
keybind-cheatsheet = {
|
keybind-cheatsheet = lib.mkIf config.nooctalia-plugins.keybind-cheatsheet.enable {
|
||||||
enabled = true;
|
enabled = true;
|
||||||
sourceUrl = sourceUrl;
|
sourceUrl = sourceUrl;
|
||||||
};
|
};
|
||||||
kde-connect = {
|
kde-connect = lib.mkIf config.nooctalia-plugins.kde-connect.enable {
|
||||||
enabled = true;
|
enabled = true;
|
||||||
sourceUrl = sourceUrl;
|
sourceUrl = sourceUrl;
|
||||||
};
|
};
|
||||||
screen-recorder = {
|
screen-recorder = lib.mkIf config.nooctalia-plugins.screen-recorder.enable {
|
||||||
enabled = true;
|
enabled = true;
|
||||||
sourceUrl = sourceUrl;
|
sourceUrl = sourceUrl;
|
||||||
};
|
};
|
||||||
screenshot = {
|
screenshot = lib.mkIf config.nooctalia-plugins.screenshot.enable {
|
||||||
enabled = true;
|
enabled = true;
|
||||||
sourceUrl = sourceUrl;
|
sourceUrl = sourceUrl;
|
||||||
};
|
};
|
||||||
ntfy-notifications = {
|
ntfy-notifications = lib.mkIf config.nooctalia-plugins.ntfy-notifications.enable {
|
||||||
|
enabled = true;
|
||||||
|
sourceUrl = sourceUrl;
|
||||||
|
};
|
||||||
|
tailscale = lib.mkIf config.nooctalia-plugins.tailscale.enable {
|
||||||
enabled = true;
|
enabled = true;
|
||||||
sourceUrl = sourceUrl;
|
sourceUrl = sourceUrl;
|
||||||
};
|
};
|
||||||
@@ -92,6 +111,23 @@ in {
|
|||||||
# maxMessages = 100;
|
# maxMessages = 100;
|
||||||
# readMessageIds = [];
|
# readMessageIds = [];
|
||||||
# };
|
# };
|
||||||
|
tailscale = {
|
||||||
|
refreshInterval = 5000;
|
||||||
|
compactMode = true;
|
||||||
|
showIpAddress = false;
|
||||||
|
showPeerCount = false;
|
||||||
|
hideDisconnected = false;
|
||||||
|
hideMullvadExitNodes = true;
|
||||||
|
showSearchBar = false;
|
||||||
|
terminalCommand = "kitty";
|
||||||
|
sshUsername = "";
|
||||||
|
pingCount = 5;
|
||||||
|
defaultPeerAction = "copy-ip";
|
||||||
|
taildropEnabled = true;
|
||||||
|
taildropDownloadDir = "~/Downloads";
|
||||||
|
taildropReceiveMode = "operator";
|
||||||
|
loginServer = "https://hs.garandplg.com";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,6 +11,9 @@
|
|||||||
hidePassive = false;
|
hidePassive = false;
|
||||||
pinned = [];
|
pinned = [];
|
||||||
}
|
}
|
||||||
|
{
|
||||||
|
id = "plugin:tailscale";
|
||||||
|
}
|
||||||
{
|
{
|
||||||
id = "plugin:keybind-cheatsheet";
|
id = "plugin:keybind-cheatsheet";
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,11 +1,9 @@
|
|||||||
{
|
{
|
||||||
lib,
|
lib,
|
||||||
host,
|
keyboardLayout,
|
||||||
username,
|
username,
|
||||||
...
|
...
|
||||||
}: let
|
}: {
|
||||||
inherit (import ../../../../hosts/${host}/variables.nix) keyboardLayout;
|
|
||||||
in {
|
|
||||||
programs.noctalia-shell.settings.general = lib.mkForce {
|
programs.noctalia-shell.settings.general = lib.mkForce {
|
||||||
avatarImage = "/home/${username}/.face.icon";
|
avatarImage = "/home/${username}/.face.icon";
|
||||||
dimmerOpacity = 0.2;
|
dimmerOpacity = 0.2;
|
||||||
|
|||||||
@@ -1,10 +1,8 @@
|
|||||||
{
|
{
|
||||||
lib,
|
lib,
|
||||||
host,
|
location,
|
||||||
...
|
...
|
||||||
}: let
|
}: {
|
||||||
inherit (import ../../../../hosts/${host}/variables.nix) location;
|
|
||||||
in {
|
|
||||||
programs.noctalia-shell.settings.location = lib.mkForce {
|
programs.noctalia-shell.settings.location = lib.mkForce {
|
||||||
name = "${location}";
|
name = "${location}";
|
||||||
weatherEnabled = true;
|
weatherEnabled = true;
|
||||||
|
|||||||
@@ -0,0 +1 @@
|
|||||||
|
_: {}
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
options.obsidian.enable = lib.mkEnableOption "Obsidian";
|
||||||
|
|
||||||
|
config.programs.obsidian = lib.mkIf config.obsidian.enable {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.obsidian;
|
||||||
|
cli.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
imports = [
|
||||||
|
# ./default-settings
|
||||||
|
./vaults
|
||||||
|
];
|
||||||
|
}
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
{
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
options.obsidian.vaults."BoM".enable = lib.mkEnableOption "Obsidian BoM vault";
|
||||||
|
|
||||||
|
config.programs.obsidian.vaults."BoM" = lib.mkIf config.obsidian.vaults."BoM".enable {
|
||||||
|
enable = true;
|
||||||
|
target = "Obsidian/BoM";
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
_: {
|
||||||
|
imports = [
|
||||||
|
./BoM.nix
|
||||||
|
];
|
||||||
|
}
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
profile,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
options.ollama.enable = lib.mkEnableOption "Ollama";
|
||||||
|
|
||||||
|
config.services.ollama = lib.mkIf config.ollama.enable {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.ollama;
|
||||||
|
acceleration =
|
||||||
|
if profile == "nvidia"
|
||||||
|
then "cuda"
|
||||||
|
else if profile == "amd"
|
||||||
|
then "rocm"
|
||||||
|
else null;
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
options.opencode.enable = lib.mkEnableOption "Opencode";
|
||||||
|
|
||||||
|
config.programs.opencode = lib.mkIf config.opencode.enable {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.opencode;
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -9,8 +9,8 @@
|
|||||||
port = 22;
|
port = 22;
|
||||||
identityFile = "~/.ssh/hp-t640-homeserver";
|
identityFile = "~/.ssh/hp-t640-homeserver";
|
||||||
};
|
};
|
||||||
"hp-t640-homeserver-tailscale" = {
|
"hp-t640-homeserver-headscale" = {
|
||||||
hostname = "100.106.225.106";
|
hostname = "100.64.0.2";
|
||||||
user = "${username}";
|
user = "${username}";
|
||||||
port = 22;
|
port = 22;
|
||||||
identityFile = "~/.ssh/hp-t640-homeserver";
|
identityFile = "~/.ssh/hp-t640-homeserver";
|
||||||
|
|||||||
@@ -1,12 +1,14 @@
|
|||||||
{
|
{
|
||||||
config,
|
|
||||||
lib,
|
lib,
|
||||||
|
shell,
|
||||||
...
|
...
|
||||||
}: let
|
}: {
|
||||||
accent = "#${config.lib.stylix.colors.base0D}";
|
|
||||||
in {
|
|
||||||
programs.starship = {
|
programs.starship = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
enableFishIntegration =
|
||||||
|
if shell == "fish"
|
||||||
|
then true
|
||||||
|
else false;
|
||||||
settings = {
|
settings = {
|
||||||
add_newline = true;
|
add_newline = true;
|
||||||
format = lib.concatStrings [
|
format = lib.concatStrings [
|
||||||
@@ -44,8 +46,8 @@ in {
|
|||||||
};
|
};
|
||||||
|
|
||||||
character = {
|
character = {
|
||||||
success_symbol = "[](${accent})";
|
success_symbol = "";
|
||||||
error_symbol = "[](red)";
|
error_symbol = "";
|
||||||
};
|
};
|
||||||
|
|
||||||
nix_shell = {
|
nix_shell = {
|
||||||
|
|||||||
+95
-4
@@ -1,14 +1,105 @@
|
|||||||
{host, ...}: {
|
{
|
||||||
|
host,
|
||||||
|
shell,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
stylix.targets = {
|
stylix.targets = {
|
||||||
librewolf.profileNames = ["${host}"];
|
librewolf = {
|
||||||
hyprland.enable = false;
|
profileNames = ["${host}"];
|
||||||
|
enable = true;
|
||||||
|
firefoxGnomeTheme.enable = true;
|
||||||
|
fonts.enable = true;
|
||||||
|
inputs.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
hyprland = {
|
||||||
|
enable = true;
|
||||||
|
colors.enable = true;
|
||||||
|
hyprpaper.enable = true;
|
||||||
|
image.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
vscode.enable = false;
|
vscode.enable = false;
|
||||||
|
|
||||||
zed.enable = false;
|
zed.enable = false;
|
||||||
vesktop.enable = false;
|
|
||||||
|
vesktop = {
|
||||||
|
enable = true;
|
||||||
|
colors.enable = true;
|
||||||
|
fonts.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
noctalia-shell.enable = true;
|
noctalia-shell.enable = true;
|
||||||
|
|
||||||
|
gtk = {
|
||||||
|
enable = true;
|
||||||
|
colors.enable = true;
|
||||||
|
flatpakSupport.enable = true;
|
||||||
|
fonts.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
qt = {
|
qt = {
|
||||||
enable = true;
|
enable = true;
|
||||||
platform = "qtct";
|
platform = "qtct";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
fish = {
|
||||||
|
enable =
|
||||||
|
if shell == "fish"
|
||||||
|
then true
|
||||||
|
else false;
|
||||||
|
colors.enable = true;
|
||||||
|
inputs.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
starship = {
|
||||||
|
enable = true;
|
||||||
|
colors.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
fzf = {
|
||||||
|
enable = true;
|
||||||
|
colors.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
bat = {
|
||||||
|
enable = true;
|
||||||
|
colors.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
anki = {
|
||||||
|
enable = true;
|
||||||
|
colors.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
btop = {
|
||||||
|
enable = true;
|
||||||
|
colors.enable = true;
|
||||||
|
opacity.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
kitty = {
|
||||||
|
enable = true;
|
||||||
|
colors.enable = true;
|
||||||
|
fonts.enable = true;
|
||||||
|
inputs.enable = true;
|
||||||
|
opacity.enable = true;
|
||||||
|
variant256Colors = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
opencode = {
|
||||||
|
enable = true;
|
||||||
|
colors.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
obsidian = {
|
||||||
|
enable = true;
|
||||||
|
colors.enable = true;
|
||||||
|
fonts.enable = true;
|
||||||
|
polarity.enable = true;
|
||||||
|
vaultNames = [
|
||||||
|
"BoM"
|
||||||
|
];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
{username, ...}: {
|
{username, ...}: {
|
||||||
home.file = {
|
home.file.".config/swappy/config".text = ''
|
||||||
".config/swappy/config".text = ''
|
|
||||||
[Default]
|
[Default]
|
||||||
save_dir=/home/${username}/Pictures/Screenshots
|
save_dir=/home/${username}/Pictures/Screenshots
|
||||||
save_filename_format=swappy-%Y%m%d-%H%M%S.png
|
save_filename_format=swappy-%Y%m%d-%H%M%S.png
|
||||||
@@ -12,5 +11,4 @@
|
|||||||
early_exit=true
|
early_exit=true
|
||||||
fill_shape=false
|
fill_shape=false
|
||||||
'';
|
'';
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,8 +1,6 @@
|
|||||||
_: {
|
_: {
|
||||||
dconf.settings = {
|
dconf.settings."org/virt-manager/virt-manager/connections" = {
|
||||||
"org/virt-manager/virt-manager/connections" = {
|
|
||||||
autoconnect = ["qemu:///system"];
|
autoconnect = ["qemu:///system"];
|
||||||
uris = ["qemu:///system"];
|
uris = ["qemu:///system"];
|
||||||
};
|
};
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,5 +19,7 @@ _: {
|
|||||||
"deputy"
|
"deputy"
|
||||||
"biome"
|
"biome"
|
||||||
"opencode"
|
"opencode"
|
||||||
|
"fish"
|
||||||
|
"tera"
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,5 +8,6 @@
|
|||||||
uv
|
uv
|
||||||
python314
|
python314
|
||||||
ruff
|
ruff
|
||||||
|
deputy
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,6 +15,16 @@
|
|||||||
# ];
|
# ];
|
||||||
# };
|
# };
|
||||||
# };
|
# };
|
||||||
|
deputy = {
|
||||||
|
binary = {
|
||||||
|
path = lib.getExe pkgs.deputy;
|
||||||
|
arguments = [
|
||||||
|
"serve"
|
||||||
|
"--github-token"
|
||||||
|
"$(gh auth token)"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
rust-analyzer = {
|
rust-analyzer = {
|
||||||
binary = {
|
binary = {
|
||||||
path = lib.getExe pkgs.bash;
|
path = lib.getExe pkgs.bash;
|
||||||
|
|||||||
+10
-5
@@ -1,11 +1,16 @@
|
|||||||
_: {
|
{shell, ...}: {
|
||||||
programs = {
|
programs.zoxide = {
|
||||||
zoxide = {
|
|
||||||
enable = true;
|
enable = true;
|
||||||
enableBashIntegration = true;
|
enableFishIntegration =
|
||||||
|
if shell == "fish"
|
||||||
|
then true
|
||||||
|
else false;
|
||||||
|
enableBashIntegration =
|
||||||
|
if shell == "bash"
|
||||||
|
then true
|
||||||
|
else false;
|
||||||
options = [
|
options = [
|
||||||
"--cmd cd"
|
"--cmd cd"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,9 @@
|
|||||||
{host, ...}: let
|
{
|
||||||
inherit (import ../../hosts/${host}/variables.nix) intelID nvidiaID;
|
host,
|
||||||
in {
|
intelID,
|
||||||
|
nvidiaID,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
imports = [
|
imports = [
|
||||||
../../hosts/${host}
|
../../hosts/${host}
|
||||||
../../modules/drivers
|
../../modules/drivers
|
||||||
|
|||||||
Reference in New Issue
Block a user