Compare commits
13 commits
d37342150e
...
66335a4ddf
| Author | SHA1 | Date | |
|---|---|---|---|
| 66335a4ddf | |||
| 890fcfc6ce | |||
| 4456200bd8 | |||
| 2129b9cedf | |||
| 371a430031 | |||
| 3508a2b3d0 | |||
| 0239e63165 | |||
| 05f480acf5 | |||
| 5f86d0ec99 | |||
| ceabb5261a | |||
| 592faafe86 | |||
| ef703ecbcf | |||
| 551c5e01d1 |
20 changed files with 721 additions and 156 deletions
|
|
@ -1,11 +1,9 @@
|
||||||
on:
|
on:
|
||||||
schedule:
|
schedule:
|
||||||
- cron: 0 */6 * * *
|
- cron: 0 */6 * * *
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
UpdateFlake:
|
UpdateFlake:
|
||||||
runs-on: native
|
runs-on: native
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Check out repository code
|
- name: Check out repository code
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
|
|
|
||||||
98
flake.lock
generated
98
flake.lock
generated
|
|
@ -110,11 +110,11 @@
|
||||||
"nixpkgs": "nixpkgs_2"
|
"nixpkgs": "nixpkgs_2"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1761596764,
|
"lastModified": 1761686631,
|
||||||
"narHash": "sha256-KTL+8Fw1qAbqubZSHRMjO4HkILJWVdWTylqHXQ4VTBE=",
|
"narHash": "sha256-OzyQkqtH4kenusXEquQvTHnAr/6lGVS2DqErIPlzCUs=",
|
||||||
"owner": "cachix",
|
"owner": "cachix",
|
||||||
"repo": "devenv",
|
"repo": "devenv",
|
||||||
"rev": "17560d064ba5e4fc946c0ea0ee7b31ec291e706f",
|
"rev": "b59500b629c08829825d4f4eca68169ea3a8821f",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -131,11 +131,11 @@
|
||||||
"rust-analyzer-src": "rust-analyzer-src"
|
"rust-analyzer-src": "rust-analyzer-src"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1761633962,
|
"lastModified": 1761720242,
|
||||||
"narHash": "sha256-QTA706q3zDi9yN7bwsOnj2cQj8FVi9x147A/2lR495U=",
|
"narHash": "sha256-Zi9nWw68oUDMVOhf/+Z97wVbNV2K7eEAGZugQKqU7xw=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "fenix",
|
"repo": "fenix",
|
||||||
"rev": "abecdc70faee6ef5abf8b250795042a0cbe7070f",
|
"rev": "8e4d32f4cc12b3f106af6e4515b36ac046a1ec91",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -147,11 +147,11 @@
|
||||||
"flake-compat": {
|
"flake-compat": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1747046372,
|
"lastModified": 1761588595,
|
||||||
"narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=",
|
"narHash": "sha256-XKUZz9zewJNUj46b4AJdiRZJAvSZ0Dqj2BNfXvFlJC4=",
|
||||||
"owner": "edolstra",
|
"owner": "edolstra",
|
||||||
"repo": "flake-compat",
|
"repo": "flake-compat",
|
||||||
"rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885",
|
"rev": "f387cd2afec9419c8ee37694406ca490c3f34ee5",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -503,11 +503,11 @@
|
||||||
"rust-overlay": "rust-overlay"
|
"rust-overlay": "rust-overlay"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1761440613,
|
"lastModified": 1761663476,
|
||||||
"narHash": "sha256-eQTH5iTkEQptZqVGyTPgpMYL7zj6QkI/uGo+1/PkAQY=",
|
"narHash": "sha256-rMapt12HqMDVo91bqojbiOh+l7UuqJ738rk1iu980qs=",
|
||||||
"owner": "helix-editor",
|
"owner": "helix-editor",
|
||||||
"repo": "helix",
|
"repo": "helix",
|
||||||
"rev": "7c4ff9c39dbd3dd7d6e2cb3e26cb34212202bb1b",
|
"rev": "de0518d0e631f1984dc7229b76c2bdadf2bffe5d",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -523,11 +523,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1761584077,
|
"lastModified": 1761666354,
|
||||||
"narHash": "sha256-dISPEZahlfs5K6d58zR4akRRyogfE9P4WSyPPNT7HiE=",
|
"narHash": "sha256-fHr+tIYBJccNF8QWqgowfRmEAtAMSt1deZIRNKL8A7c=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "e82585308aef3d4cc2c36c7b6946051c8cdf24ef",
|
"rev": "ca2ab1d877a24d5a437dad62f56b8b2c02e964e9",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -683,11 +683,11 @@
|
||||||
"xdph": "xdph"
|
"xdph": "xdph"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1761601789,
|
"lastModified": 1761733109,
|
||||||
"narHash": "sha256-F8HDu+xAZ2GhYRZPTMbFgXfA6VI7pN95juP3/llCKx8=",
|
"narHash": "sha256-sgZlcW1W6ioNFaMz+r4O52SLNywzRJiqRwBKRenvL6c=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "Hyprland",
|
"repo": "Hyprland",
|
||||||
"rev": "309c3c78485781a28ad9f5bef48b09ecb3b81473",
|
"rev": "9eb82774e53dc02e4fa204a911cb4256cd21f429",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -713,11 +713,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1761249285,
|
"lastModified": 1761653710,
|
||||||
"narHash": "sha256-70dEwL5p3CB/00ODs2RHWUKTyafB+PF4Ld7IEMuO+no=",
|
"narHash": "sha256-MhHSU9m/9HSckJ61OXcom/6F92NQf3s1QfLbRUApalc=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "hyprland-plugins",
|
"repo": "hyprland-plugins",
|
||||||
"rev": "81f6d1426537981fcbb921f8b5e470b1280ef8f3",
|
"rev": "e689220b1740aa99ca67fa06055792f82fa9ed85",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -889,11 +889,11 @@
|
||||||
"systems": "systems_2"
|
"systems": "systems_2"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1760023949,
|
"lastModified": 1761675634,
|
||||||
"narHash": "sha256-fu0B4duamVdbkPio/czu1XhsPLRXUJpZLDrSk3nih4U=",
|
"narHash": "sha256-Et1jNDB2d3e0b4okIKuyAMktECS+5hk+vMAA7X598ao=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "hyprlock",
|
"repo": "hyprlock",
|
||||||
"rev": "36ec73f166d9434a3f27c96c575198906f77644a",
|
"rev": "98b86752fe4867bd14ef96a92ea788229af93130",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -1024,11 +1024,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1760961269,
|
"lastModified": 1761728397,
|
||||||
"narHash": "sha256-Udg6DnM6scJj+imbttJR7GQpG2WWeDZ1JOtySTY99M0=",
|
"narHash": "sha256-PyRcsly7w12wg6Vjzkn5eLvRQgX+nzHU80xBVnwE7Eg=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "nh",
|
"repo": "nh",
|
||||||
"rev": "e27508e06f74c7f03616150c1ac1431eaef7f443",
|
"rev": "149022d8973798f5ebb819fb2977b0260f049816",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -1045,11 +1045,11 @@
|
||||||
"rust-overlay": []
|
"rust-overlay": []
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1761460429,
|
"lastModified": 1761721311,
|
||||||
"narHash": "sha256-pJeM23DGMD5AK4gdNaDM1qsIv87NYQJgEh2E8tRd7es=",
|
"narHash": "sha256-fXBALdA4CKAYslcuamjzQZLUTCNBIKWybj+/2rwe3Z0=",
|
||||||
"owner": "YaLTeR",
|
"owner": "YaLTeR",
|
||||||
"repo": "niri",
|
"repo": "niri",
|
||||||
"rev": "e6f3c538da0c646bda43fcde7ef7dc3b771e0c8b",
|
"rev": "6e8fd153395036c2daa7c214695ed9baf2409a2e",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -1072,11 +1072,11 @@
|
||||||
"xwayland-satellite-unstable": "xwayland-satellite-unstable"
|
"xwayland-satellite-unstable": "xwayland-satellite-unstable"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1761623016,
|
"lastModified": 1761724527,
|
||||||
"narHash": "sha256-C2+TErNmeHMCtodwVrMeA/uJg1GRdQbOntRI7DFullA=",
|
"narHash": "sha256-nB500dSUaNBtOsu5JI1PDNmjuFD6Kdbkh648q0FoaIY=",
|
||||||
"owner": "sodiboo",
|
"owner": "sodiboo",
|
||||||
"repo": "niri-flake",
|
"repo": "niri-flake",
|
||||||
"rev": "f0bfe0aaaa51378ace7492850290f8d2db6cc7f3",
|
"rev": "1ff74954f559bb2da63e28b3fcffd3b09ec32842",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -1088,11 +1088,11 @@
|
||||||
"niri-unstable": {
|
"niri-unstable": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1761460429,
|
"lastModified": 1761721311,
|
||||||
"narHash": "sha256-pJeM23DGMD5AK4gdNaDM1qsIv87NYQJgEh2E8tRd7es=",
|
"narHash": "sha256-fXBALdA4CKAYslcuamjzQZLUTCNBIKWybj+/2rwe3Z0=",
|
||||||
"owner": "YaLTeR",
|
"owner": "YaLTeR",
|
||||||
"repo": "niri",
|
"repo": "niri",
|
||||||
"rev": "e6f3c538da0c646bda43fcde7ef7dc3b771e0c8b",
|
"rev": "6e8fd153395036c2daa7c214695ed9baf2409a2e",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -1127,16 +1127,16 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1758763079,
|
"lastModified": 1761648602,
|
||||||
"narHash": "sha256-Bx1A+lShhOWwMuy3uDzZQvYiBKBFcKwy6G6NEohhv6A=",
|
"narHash": "sha256-H97KSB/luq/aGobKRuHahOvT1r7C03BgB6D5HBZsbN8=",
|
||||||
"owner": "cachix",
|
"owner": "cachix",
|
||||||
"repo": "nix",
|
"repo": "nix",
|
||||||
"rev": "6f0140527c2b0346df4afad7497baa08decb929f",
|
"rev": "3e5644da6830ef65f0a2f7ec22830c46285bfff6",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "cachix",
|
"owner": "cachix",
|
||||||
"ref": "devenv-2.30.5",
|
"ref": "devenv-2.30.6",
|
||||||
"repo": "nix",
|
"repo": "nix",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
|
|
@ -1163,11 +1163,11 @@
|
||||||
},
|
},
|
||||||
"nixos-hardware": {
|
"nixos-hardware": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1760958188,
|
"lastModified": 1761669189,
|
||||||
"narHash": "sha256-2m1S4jl+GEDtlt2QqeHil8Ny456dcGSKJAM7q3j/BFU=",
|
"narHash": "sha256-INBZnPA9JzyDn+Fnni2250PbRzKx7Eafz0T2c7NhXiQ=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixos-hardware",
|
"repo": "nixos-hardware",
|
||||||
"rev": "d6645c340ef7d821602fd2cd199e8d1eed10afbc",
|
"rev": "9c0ee5dfa186e10efe9b53505b65d22c81860fde",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -1447,11 +1447,11 @@
|
||||||
"rust-analyzer-src": {
|
"rust-analyzer-src": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1761606039,
|
"lastModified": 1761686505,
|
||||||
"narHash": "sha256-rNsxpCKWzVNJ5FR71mpZFSEPxuvZfAQzcVpgfwgajQU=",
|
"narHash": "sha256-jX6UrGS/hABDaM4jdx3+xgH3KCHP2zKHeTa8CD5myEo=",
|
||||||
"owner": "rust-lang",
|
"owner": "rust-lang",
|
||||||
"repo": "rust-analyzer",
|
"repo": "rust-analyzer",
|
||||||
"rev": "7c810e9994eff5b2b7a78ab0a656948c1e8dbf18",
|
"rev": "d08d54f3c10dfa41033eb780c3bddb50e09d30fc",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -1680,11 +1680,11 @@
|
||||||
"nixpkgs": "nixpkgs_7"
|
"nixpkgs": "nixpkgs_7"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1761535208,
|
"lastModified": 1761712008,
|
||||||
"narHash": "sha256-E1PobJMiFmVUX2YdqYk/MpKb0LXavOYvlg8DCBBzlHc=",
|
"narHash": "sha256-Nf2s59dLg6KDUV0omZqIlOGNUxw/Rl/KKXEXQGFCAlo=",
|
||||||
"owner": "0xc000022070",
|
"owner": "0xc000022070",
|
||||||
"repo": "zen-browser-flake",
|
"repo": "zen-browser-flake",
|
||||||
"rev": "79a94872a3e6993a051c4e22a2dcb02c1d088acf",
|
"rev": "1383ed38745d12f3896c996848d24c451643db58",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,6 @@
|
||||||
{
|
{
|
||||||
description = "All encompassing flake";
|
description = "All encompassing flake";
|
||||||
|
|
||||||
nixConfig = {
|
|
||||||
allow-import-from-derivation = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
outputs = inputs: inputs.flake-parts.lib.mkFlake { inherit inputs; } (inputs.import-tree ./modules);
|
outputs = inputs: inputs.flake-parts.lib.mkFlake { inherit inputs; } (inputs.import-tree ./modules);
|
||||||
|
|
||||||
inputs = {
|
inputs = {
|
||||||
|
|
@ -75,6 +71,7 @@
|
||||||
|
|
||||||
niri-flake = {
|
niri-flake = {
|
||||||
url = "github:sodiboo/niri-flake";
|
url = "github:sodiboo/niri-flake";
|
||||||
|
# url = "github:Daholli/niri-flake/1067d35dd18f6a55f79873c944f1427a9eb7caa7";
|
||||||
inputs = {
|
inputs = {
|
||||||
niri-stable.follows = "niri";
|
niri-stable.follows = "niri";
|
||||||
nixpkgs.follows = "nixpkgs";
|
nixpkgs.follows = "nixpkgs";
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,6 @@ topLevel: {
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
git
|
git
|
||||||
];
|
];
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
homeManager.cholli =
|
homeManager.cholli =
|
||||||
|
|
|
||||||
|
|
@ -15,6 +15,7 @@
|
||||||
nerd-fonts.code-new-roman
|
nerd-fonts.code-new-roman
|
||||||
nerd-fonts.fira-code
|
nerd-fonts.fira-code
|
||||||
nerd-fonts.symbols-only
|
nerd-fonts.symbols-only
|
||||||
|
nerd-fonts.jetbrains-mono
|
||||||
fira
|
fira
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -44,6 +44,7 @@
|
||||||
++ lib.optional config.services.hydra.enable "hydra hydra-www hydra-evaluator hydra-queue-runner";
|
++ lib.optional config.services.hydra.enable "hydra hydra-www hydra-evaluator hydra-queue-runner";
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
nix-path = "nixpkgs=flake:nixpkgs";
|
||||||
experimental-features = "nix-command flakes";
|
experimental-features = "nix-command flakes";
|
||||||
http-connections = 50;
|
http-connections = 50;
|
||||||
warn-dirty = false;
|
warn-dirty = false;
|
||||||
|
|
@ -53,6 +54,18 @@
|
||||||
trusted-users = users;
|
trusted-users = users;
|
||||||
allowed-users = users;
|
allowed-users = users;
|
||||||
allowed-uris = "github: https://github.com/ git+https://github.com/ gitlab: https://gitlab.com/ git+https://gitlab.com/";
|
allowed-uris = "github: https://github.com/ git+https://github.com/ gitlab: https://gitlab.com/ git+https://gitlab.com/";
|
||||||
|
substituters = [
|
||||||
|
"https://cache.lix.systems"
|
||||||
|
"https://nix-community.cachix.org"
|
||||||
|
"https://nixcache.christophhollizeck.dev"
|
||||||
|
"https://hyprland.cachix.org"
|
||||||
|
];
|
||||||
|
trusted-public-keys = [
|
||||||
|
"cache.lix.systems:aBnZUw8zA7H35Cz2RyKFVs3H4PlGTLawyY5KRbvJR8o="
|
||||||
|
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
||||||
|
"christophhollizeck.dev:7pPAvm9xqFQB8FDApVNL6Tii1Jsv+Sj/LjEIkdeGhbA="
|
||||||
|
"hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="
|
||||||
|
];
|
||||||
}
|
}
|
||||||
// (lib.optionalAttrs config.programs.direnv.enable {
|
// (lib.optionalAttrs config.programs.direnv.enable {
|
||||||
keep-outputs = true;
|
keep-outputs = true;
|
||||||
|
|
|
||||||
|
|
@ -13,9 +13,17 @@
|
||||||
in
|
in
|
||||||
|
|
||||||
{
|
{
|
||||||
|
security.pam.services.gdm.enableGnomeKeyring = true;
|
||||||
|
services.displayManager.gdm = {
|
||||||
|
enable = true;
|
||||||
|
wayland = true;
|
||||||
|
};
|
||||||
|
|
||||||
environment = {
|
environment = {
|
||||||
systemPackages = [
|
systemPackages = with pkgs; [
|
||||||
zenbrowser
|
zenbrowser
|
||||||
|
|
||||||
|
sourcegit
|
||||||
];
|
];
|
||||||
|
|
||||||
sessionVariables = {
|
sessionVariables = {
|
||||||
|
|
|
||||||
|
|
@ -12,10 +12,57 @@
|
||||||
package = inputs.niri-flake.packages.${pkgs.system}.niri-unstable;
|
package = inputs.niri-flake.packages.${pkgs.system}.niri-unstable;
|
||||||
};
|
};
|
||||||
|
|
||||||
environment.systemPackages = [
|
environment.systemPackages = with pkgs; [
|
||||||
pkgs.alacritty
|
kitty
|
||||||
pkgs.fuzzel
|
fuzzel
|
||||||
|
|
||||||
|
inputs.niri-flake.packages.${pkgs.system}.xwayland-satellite-unstable
|
||||||
|
|
||||||
|
wl-clipboard
|
||||||
|
xsel
|
||||||
|
|
||||||
|
waybar
|
||||||
|
libnotify
|
||||||
];
|
];
|
||||||
|
|
||||||
|
xdg = {
|
||||||
|
autostart.enable = true;
|
||||||
|
portal = {
|
||||||
|
enable = true;
|
||||||
|
extraPortals = [
|
||||||
|
pkgs.xdg-desktop-portal-gnome
|
||||||
|
pkgs.xdg-desktop-portal-gtk
|
||||||
|
];
|
||||||
|
xdgOpenUsePortal = true;
|
||||||
|
|
||||||
|
config = {
|
||||||
|
common = {
|
||||||
|
default = [ "*" ];
|
||||||
|
"org.freedesktop.impl.portal.Secret" = [ "gnome-keyring" ];
|
||||||
|
};
|
||||||
|
niri = {
|
||||||
|
default = [
|
||||||
|
"gnome"
|
||||||
|
"gtk"
|
||||||
|
];
|
||||||
|
"org.freedesktop.impl.portal.FileChooser" = [ "gtk" ];
|
||||||
|
"org.freedesktop.impl.portal.OpenURI" = [ "gtk" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
environment.sessionVariables = {
|
||||||
|
NIXOS_OZONE_WL = "1"; # Hint electron apps to use wayland
|
||||||
|
ELECTRON_OZONE_PLATFORM_HINT = "auto";
|
||||||
|
|
||||||
|
XDG_SESSION_TYPE = "wayland";
|
||||||
|
|
||||||
|
QT_AUTO_SCREEN_SCALE_FACTOR = "1";
|
||||||
|
QT_WAYLAND_DISABLE_WINDOWDECORATION = "1";
|
||||||
|
QT_QPA_PLATFORM = "wayland;xcb";
|
||||||
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
homeManager.cholli =
|
homeManager.cholli =
|
||||||
|
|
@ -28,12 +75,31 @@
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
{
|
{
|
||||||
config = lib.mkIf osConfig.programs.niri.enable {
|
config = lib.mkIf (osConfig.networking.hostName == "yggdrasil" && osConfig.programs.niri.enable) {
|
||||||
|
services.mako = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
border-radius = 15;
|
||||||
|
border-color = "#505050";
|
||||||
|
background-color = "#00000070";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
programs.niri.settings = {
|
programs.niri.settings = {
|
||||||
|
prefer-no-csd = true;
|
||||||
|
|
||||||
input = {
|
input = {
|
||||||
keyboard = {
|
keyboard = {
|
||||||
|
xkb = {
|
||||||
|
layout = "us";
|
||||||
|
rules = "escape:nocaps";
|
||||||
|
};
|
||||||
numlock = true;
|
numlock = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
touchpad = {
|
||||||
|
enable = false;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs."DP-1" = {
|
outputs."DP-1" = {
|
||||||
|
|
@ -48,6 +114,9 @@
|
||||||
height = 1080;
|
height = 1080;
|
||||||
};
|
};
|
||||||
transform.rotation = 90;
|
transform.rotation = 90;
|
||||||
|
# layout = {
|
||||||
|
# default-column-width.proportion = 1.0;
|
||||||
|
# };
|
||||||
};
|
};
|
||||||
|
|
||||||
layout = {
|
layout = {
|
||||||
|
|
@ -62,7 +131,6 @@
|
||||||
{ proportion = 1. / 3.; }
|
{ proportion = 1. / 3.; }
|
||||||
{ proportion = 1. / 2.; }
|
{ proportion = 1. / 2.; }
|
||||||
{ proportion = 2. / 3.; }
|
{ proportion = 2. / 3.; }
|
||||||
|
|
||||||
];
|
];
|
||||||
|
|
||||||
focus-ring = {
|
focus-ring = {
|
||||||
|
|
@ -80,33 +148,166 @@
|
||||||
|
|
||||||
screenshot-path = "~/Pictures/Screenshots/Screenshot from %Y-%m-%d %H-%M-%S.png";
|
screenshot-path = "~/Pictures/Screenshots/Screenshot from %Y-%m-%d %H-%M-%S.png";
|
||||||
|
|
||||||
# block 1pass from screenshots and window capture
|
workspaces = {
|
||||||
|
"01-zen" = {
|
||||||
|
open-on-output = "DP-1";
|
||||||
|
};
|
||||||
|
"02-steam" = {
|
||||||
|
open-on-output = "DP-1";
|
||||||
|
};
|
||||||
|
"03-work" = {
|
||||||
|
open-on-output = "DP-1";
|
||||||
|
};
|
||||||
|
"04-games" = {
|
||||||
|
open-on-output = "DP-1";
|
||||||
|
};
|
||||||
|
"01-communication" = {
|
||||||
|
open-on-output = "HDMI-A-1";
|
||||||
|
};
|
||||||
|
"02-1password" = {
|
||||||
|
open-on-output = "HDMI-A-1";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
layer-rules = [
|
||||||
|
{
|
||||||
|
matches = [ { namespace = "^notifications$"; } ];
|
||||||
|
block-out-from = "screencast";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
window-rules = [
|
window-rules = [
|
||||||
|
{
|
||||||
|
excludes = [ ];
|
||||||
|
clip-to-geometry = true;
|
||||||
|
geometry-corner-radius = {
|
||||||
|
top-left = 15.0;
|
||||||
|
top-right = 15.0;
|
||||||
|
bottom-left = 15.0;
|
||||||
|
bottom-right = 15.0;
|
||||||
|
};
|
||||||
|
|
||||||
|
#
|
||||||
|
open-fullscreen = false;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
matches = [ { is-window-cast-target = true; } ];
|
||||||
|
|
||||||
|
border = {
|
||||||
|
enable = true;
|
||||||
|
width = 2;
|
||||||
|
active.color = "#f38ba8";
|
||||||
|
inactive.color = "#f38ba8";
|
||||||
|
};
|
||||||
|
|
||||||
|
shadow = {
|
||||||
|
color = "#f38ba870";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
matches = [
|
||||||
|
{
|
||||||
|
app-id = "1password";
|
||||||
|
is-floating = true;
|
||||||
|
is-focused = false;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
}
|
||||||
|
{
|
||||||
|
matches = [
|
||||||
|
{
|
||||||
|
app-id = "steam";
|
||||||
|
title = "Steam";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
open-on-workspace = "02-steam";
|
||||||
|
open-maximized = true;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
matches = [
|
||||||
|
{
|
||||||
|
app-id = "steam_app_.*";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
app-id = "factorio";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
open-on-workspace = "04-games";
|
||||||
|
default-column-width.proportion = 1.0;
|
||||||
|
default-window-height.proportion = 1.0;
|
||||||
|
min-width = 3440;
|
||||||
|
min-height = 1440;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
matches = [
|
||||||
|
{
|
||||||
|
app-id = "discord";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
app-id = "steam";
|
||||||
|
title = "Friends List.*";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
open-on-workspace = "01-communication";
|
||||||
|
default-column-width.proportion = 1.0;
|
||||||
|
open-fullscreen = false;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
matches = [
|
||||||
|
{
|
||||||
|
app-id = "1Password";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
open-on-workspace = "02-1password";
|
||||||
|
default-column-width.proportion = 1.0;
|
||||||
|
open-fullscreen = false;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
matches = [
|
||||||
|
{
|
||||||
|
app-id = "1Password";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
app-id = "discord";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
app-id = "steam";
|
||||||
|
title = "Friends List.*";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
app-id = "teams-for-linux";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
block-out-from = "screencast";
|
||||||
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
binds =
|
binds =
|
||||||
with config.lib.niri;
|
with config.lib.niri;
|
||||||
let
|
|
||||||
workspaces = (builtins.genList (x: x + 1) 9);
|
|
||||||
|
|
||||||
focus-workspaces = builtins.listToAttrs (
|
|
||||||
map (num: {
|
|
||||||
name = "Mod+${toString num}";
|
|
||||||
value = {
|
|
||||||
action.focus-workspace = num;
|
|
||||||
};
|
|
||||||
}) workspaces
|
|
||||||
);
|
|
||||||
in
|
|
||||||
|
|
||||||
lib.mkMerge [
|
lib.mkMerge [
|
||||||
{
|
{
|
||||||
"Mod+Shift+Slash".action = actions.show-hotkey-overlay;
|
"Mod+Shift+Slash".action = actions.show-hotkey-overlay;
|
||||||
|
"Mod+Shift+E".action = actions.quit;
|
||||||
|
"Ctrl+Alt+Delete".action = actions.quit;
|
||||||
|
|
||||||
"Mod+Return".action.spawn = "${lib.getExe pkgs.kitty}";
|
"Mod+Return".action.spawn = "${lib.getExe pkgs.kitty}";
|
||||||
"Mod+D".action.spawn = "${lib.getExe pkgs.fuzzel}";
|
"Mod+D".action.spawn = "${lib.getExe pkgs.fuzzel}";
|
||||||
"Mod+Alt+L".action.spawn = "hyprlock-blur";
|
"Mod+Alt+L".action.spawn = "hyprlock-blur";
|
||||||
|
|
||||||
|
"Mod+Escape" = {
|
||||||
|
allow-inhibiting = false;
|
||||||
|
action = actions.toggle-keyboard-shortcuts-inhibit;
|
||||||
|
};
|
||||||
|
|
||||||
|
"Print".action.screenshot = [ ];
|
||||||
|
"Ctrl+Print".action.screenshot-screen = [ ];
|
||||||
|
"Alt+Print".action.screenshot-window = [ ];
|
||||||
|
|
||||||
"Mod+Shift+Q" = {
|
"Mod+Shift+Q" = {
|
||||||
action = actions.close-window;
|
action = actions.close-window;
|
||||||
repeat = false;
|
repeat = false;
|
||||||
|
|
@ -117,6 +318,106 @@
|
||||||
repeat = false;
|
repeat = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
"Mod+1".action = actions.focus-workspace "01-zen";
|
||||||
|
"Mod+2".action = actions.focus-workspace "02-steam";
|
||||||
|
"Mod+3".action = actions.focus-workspace "03-work";
|
||||||
|
"Mod+4".action = actions.focus-workspace "04-games";
|
||||||
|
"Mod+5".action = actions.focus-workspace "01-communication";
|
||||||
|
"Mod+9".action = actions.focus-workspace "02-1password";
|
||||||
|
|
||||||
|
"Mod+J" = {
|
||||||
|
action = actions.focus-window-or-workspace-down;
|
||||||
|
};
|
||||||
|
"Mod+K" = {
|
||||||
|
action = actions.focus-window-or-workspace-up;
|
||||||
|
};
|
||||||
|
"Mod+Ctrl+J" = {
|
||||||
|
action = actions.move-window-down-or-to-workspace-down;
|
||||||
|
};
|
||||||
|
"Mod+Ctrl+K" = {
|
||||||
|
action = actions.move-window-up-or-to-workspace-up;
|
||||||
|
};
|
||||||
|
"Mod+Down" = {
|
||||||
|
action = actions.focus-window-or-workspace-down;
|
||||||
|
};
|
||||||
|
"Mod+Up" = {
|
||||||
|
action = actions.focus-window-or-workspace-up;
|
||||||
|
};
|
||||||
|
"Mod+Ctrl+Down" = {
|
||||||
|
action = actions.move-window-down-or-to-workspace-down;
|
||||||
|
};
|
||||||
|
"Mod+Ctrl+Up" = {
|
||||||
|
action = actions.move-window-up-or-to-workspace-up;
|
||||||
|
};
|
||||||
|
|
||||||
|
"Mod+H" = {
|
||||||
|
action = actions.focus-column-or-monitor-left;
|
||||||
|
};
|
||||||
|
"Mod+L" = {
|
||||||
|
action = actions.focus-column-or-monitor-right;
|
||||||
|
};
|
||||||
|
"Mod+Ctrl+H" = {
|
||||||
|
action = actions.move-column-left-or-to-monitor-left;
|
||||||
|
};
|
||||||
|
"Mod+Ctrl+L" = {
|
||||||
|
action = actions.move-column-right-or-to-monitor-right;
|
||||||
|
};
|
||||||
|
"Mod+Left" = {
|
||||||
|
action = actions.focus-column-or-monitor-left;
|
||||||
|
};
|
||||||
|
"Mod+Right" = {
|
||||||
|
action = actions.focus-column-or-monitor-right;
|
||||||
|
};
|
||||||
|
"Mod+Ctrl+Left" = {
|
||||||
|
action = actions.move-column-left-or-to-monitor-left;
|
||||||
|
};
|
||||||
|
"Mod+Ctrl+Right" = {
|
||||||
|
action = actions.move-column-right-or-to-monitor-right;
|
||||||
|
};
|
||||||
|
|
||||||
|
"Mod+WheelScrollDown" = {
|
||||||
|
action = actions.focus-column-right;
|
||||||
|
};
|
||||||
|
"Mod+WheelScrollUp" = {
|
||||||
|
action = actions.focus-column-left;
|
||||||
|
};
|
||||||
|
"Mod+Shift+WheelScrollDown" = {
|
||||||
|
action = actions.focus-workspace-down;
|
||||||
|
cooldown-ms = 150;
|
||||||
|
};
|
||||||
|
"Mod+Shift+WheelScrollUp" = {
|
||||||
|
action = actions.focus-workspace-up;
|
||||||
|
cooldown-ms = 150;
|
||||||
|
};
|
||||||
|
|
||||||
|
# Window Sizes
|
||||||
|
"Mod+BracketLeft".action = actions.consume-or-expel-window-left;
|
||||||
|
"Mod+BracketRight".action = actions.consume-or-expel-window-right;
|
||||||
|
"Mod+Comma".action = actions.consume-window-into-column;
|
||||||
|
"Mod+Period".action = actions.expel-window-from-column;
|
||||||
|
|
||||||
|
"Mod+R".action = actions.switch-preset-column-width;
|
||||||
|
"Mod+Shift+R".action = actions.switch-preset-window-height;
|
||||||
|
"Mod+Ctrl+R".action = actions.reset-window-height;
|
||||||
|
"Mod+F".action = actions.maximize-column;
|
||||||
|
"Mod+Shift+F".action = actions.fullscreen-window;
|
||||||
|
"Mod+Ctrl+F".action = actions.expand-column-to-available-width;
|
||||||
|
|
||||||
|
"Mod+C".action = actions.center-column;
|
||||||
|
"Mod+V".action = actions.toggle-window-floating;
|
||||||
|
|
||||||
|
# Xwayland keyboard stuff
|
||||||
|
"Mod+Shift+C".action = actions.spawn [
|
||||||
|
"sh"
|
||||||
|
"-c"
|
||||||
|
"env DISPLAY=:0 xsel -ob | wl-copy"
|
||||||
|
];
|
||||||
|
"Mod+Shift+V".action = actions.spawn [
|
||||||
|
"sh"
|
||||||
|
"-c"
|
||||||
|
"wl-paste -n | env DISPLAY=:0 xsel -ib"
|
||||||
|
];
|
||||||
|
|
||||||
"XF86AudioRaiseVolume" = {
|
"XF86AudioRaiseVolume" = {
|
||||||
action.spawn = [
|
action.spawn = [
|
||||||
"wpctl"
|
"wpctl"
|
||||||
|
|
@ -154,9 +455,17 @@
|
||||||
allow-when-locked = true;
|
allow-when-locked = true;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
focus-workspaces
|
|
||||||
];
|
];
|
||||||
|
|
||||||
|
spawn-at-startup = [
|
||||||
|
{ argv = [ "waybar" ]; }
|
||||||
|
{ argv = [ "zen-beta" ]; }
|
||||||
|
{ argv = [ "steam" ]; }
|
||||||
|
{ argv = [ "obsidian" ]; }
|
||||||
|
{ argv = [ "discord" ]; }
|
||||||
|
{ argv = [ "1password" ]; }
|
||||||
|
];
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -34,4 +34,14 @@ in
|
||||||
}
|
}
|
||||||
))
|
))
|
||||||
];
|
];
|
||||||
|
|
||||||
|
flake.hydraJobs =
|
||||||
|
let
|
||||||
|
self = inputs.self;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
# hosts = lib.mapAttrs (_: cfg: cfg.config.system.build.toplevel) self.outputs.nixosConfigurations;
|
||||||
|
packages = self.packages;
|
||||||
|
shells = lib.filterAttrs (name: shell: name == "x86_64-linux") self.devShells;
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
73
modules/hosts/loptland/default.nix
Normal file
73
modules/hosts/loptland/default.nix
Normal file
|
|
@ -0,0 +1,73 @@
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
in
|
||||||
|
{
|
||||||
|
flake.modules.nixos."hosts/loptland" =
|
||||||
|
{
|
||||||
|
inputs,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
modulesPath,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
sopsFile = ../../../secrets/secrets-loptland.yaml;
|
||||||
|
|
||||||
|
in
|
||||||
|
{
|
||||||
|
nixpkgs.config.allowUnfree = true;
|
||||||
|
services.qemuGuest.enable = true;
|
||||||
|
|
||||||
|
imports =
|
||||||
|
with config.flake.modules.nixos;
|
||||||
|
[
|
||||||
|
(modulesPath + "/profiles/qemu-guest.nix")
|
||||||
|
inputs.catppuccin.nixosModules.catppuccin
|
||||||
|
|
||||||
|
# System modules
|
||||||
|
base
|
||||||
|
server
|
||||||
|
dev
|
||||||
|
|
||||||
|
# apps
|
||||||
|
|
||||||
|
# Users
|
||||||
|
cholli
|
||||||
|
]
|
||||||
|
++ [
|
||||||
|
{
|
||||||
|
home-manager.users.cholli = {
|
||||||
|
imports = with config.flake.modules.homeManager; [
|
||||||
|
inputs.catppuccin.homeModules.catppuccin
|
||||||
|
|
||||||
|
# components
|
||||||
|
base
|
||||||
|
dev
|
||||||
|
|
||||||
|
# Activate all user based config
|
||||||
|
cholli
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
];
|
||||||
|
|
||||||
|
sops = {
|
||||||
|
secrets = {
|
||||||
|
"forgejo/db/password" = {
|
||||||
|
inherit sopsFile;
|
||||||
|
};
|
||||||
|
"forgejo/mail/password" = {
|
||||||
|
inherit sopsFile;
|
||||||
|
};
|
||||||
|
"forgejo/mail/passwordHash" = {
|
||||||
|
inherit sopsFile;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
}
|
||||||
55
modules/hosts/loptland/hardware.nix
Normal file
55
modules/hosts/loptland/hardware.nix
Normal file
|
|
@ -0,0 +1,55 @@
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
in
|
||||||
|
{
|
||||||
|
flake.modules.nixos."hosts/loptland" =
|
||||||
|
{
|
||||||
|
inputs,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
{
|
||||||
|
boot = {
|
||||||
|
kernelPackages = pkgs.linuxPackages_latest;
|
||||||
|
loader = {
|
||||||
|
systemd-boot.enable = true;
|
||||||
|
efi.canTouchEfiVariables = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
boot.initrd.availableKernelModules = [
|
||||||
|
"ata_piix"
|
||||||
|
"uhci_hcd"
|
||||||
|
"virtio_pci"
|
||||||
|
"sr_mod"
|
||||||
|
"virtio_blk"
|
||||||
|
];
|
||||||
|
boot.initrd.kernelModules = [ ];
|
||||||
|
boot.kernelModules = [ ];
|
||||||
|
boot.extraModulePackages = [ ];
|
||||||
|
|
||||||
|
fileSystems."/" = {
|
||||||
|
device = "/dev/disk/by-uuid/26b098dd-0a15-49c5-9998-75f43d17eb26";
|
||||||
|
fsType = "ext4";
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/boot" = {
|
||||||
|
device = "/dev/disk/by-uuid/30AB-7309";
|
||||||
|
fsType = "vfat";
|
||||||
|
options = [
|
||||||
|
"fmask=0077"
|
||||||
|
"dmask=0077"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
swapDevices = [ { device = "/dev/disk/by-uuid/b9bcb425-cb1c-40a1-89bb-d7fe6b421834"; } ];
|
||||||
|
|
||||||
|
networking.useDHCP = lib.mkDefault true;
|
||||||
|
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
76
modules/hosts/loptland/nginx.nix
Normal file
76
modules/hosts/loptland/nginx.nix
Normal file
|
|
@ -0,0 +1,76 @@
|
||||||
|
{
|
||||||
|
flake.modules.nixos."hosts/loptland" =
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
domainName = "christophhollizeck.dev";
|
||||||
|
forgejoPort = 3000;
|
||||||
|
hydraPort = 2000;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
services.nginx = {
|
||||||
|
enable = true;
|
||||||
|
recommendedProxySettings = true;
|
||||||
|
|
||||||
|
virtualHosts = {
|
||||||
|
"git.${domainName}" = {
|
||||||
|
forceSSL = true;
|
||||||
|
useACMEHost = domainName;
|
||||||
|
|
||||||
|
locations."/" = {
|
||||||
|
extraConfig = ''
|
||||||
|
client_max_body_size 200M;
|
||||||
|
'';
|
||||||
|
proxyPass = "http://localhost:${toString forgejoPort}/";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
"hydra.${domainName}" = lib.mkIf config.services.hydra.enable {
|
||||||
|
forceSSL = true;
|
||||||
|
useACMEHost = domainName;
|
||||||
|
|
||||||
|
locations."/" = {
|
||||||
|
proxyPass = "http://localhost:${toString hydraPort}/";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
"ha.${domainName}" = {
|
||||||
|
forceSSL = true;
|
||||||
|
useACMEHost = domainName;
|
||||||
|
|
||||||
|
locations."/" = {
|
||||||
|
# tailscale ip
|
||||||
|
extraConfig = ''
|
||||||
|
proxy_set_header Upgrade $http_upgrade;
|
||||||
|
proxy_set_header Connection "upgrade";
|
||||||
|
'';
|
||||||
|
proxyPass = "http://100.86.23.74:8123";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
"nixcache.${domainName}" = lib.mkIf config.services.nix-serve.enable {
|
||||||
|
forceSSL = true;
|
||||||
|
useACMEHost = domainName;
|
||||||
|
|
||||||
|
locations."/" = {
|
||||||
|
proxyPass = "http://${config.services.nix-serve.bindAddress}:${toString config.services.nix-serve.port}";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
"_" = {
|
||||||
|
forceSSL = true;
|
||||||
|
useACMEHost = domainName;
|
||||||
|
|
||||||
|
locations."/" = {
|
||||||
|
proxyPass = "https://${domainName}";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
}
|
||||||
11
modules/hosts/nixberry/default.nix
Normal file
11
modules/hosts/nixberry/default.nix
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
in
|
||||||
|
{
|
||||||
|
flake.modules.nixos."hosts/nixberry" = {
|
||||||
|
|
||||||
|
};
|
||||||
|
}
|
||||||
11
modules/hosts/wsl/default.nix
Normal file
11
modules/hosts/wsl/default.nix
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
in
|
||||||
|
{
|
||||||
|
flake.modules.nixos."hosts/wsl" = {
|
||||||
|
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -24,18 +24,8 @@ in
|
||||||
diebahn
|
diebahn
|
||||||
|
|
||||||
path-of-building
|
path-of-building
|
||||||
bottles
|
termscp
|
||||||
|
|
||||||
# to be removed
|
|
||||||
kdePackages.bluez-qt
|
|
||||||
zed-editor
|
|
||||||
seahorse
|
|
||||||
font-manager
|
|
||||||
vesktop
|
|
||||||
rofi-unwrapped
|
|
||||||
];
|
];
|
||||||
# to be removed
|
|
||||||
virtualisation.waydroid.enable = true;
|
|
||||||
|
|
||||||
services.teamviewer.enable = true;
|
services.teamviewer.enable = true;
|
||||||
environment.pathsToLink = [ "/libexec" ];
|
environment.pathsToLink = [ "/libexec" ];
|
||||||
|
|
@ -64,7 +54,7 @@ in
|
||||||
amdgpu
|
amdgpu
|
||||||
|
|
||||||
# dektops
|
# dektops
|
||||||
hyprland
|
# hyprland
|
||||||
niri
|
niri
|
||||||
|
|
||||||
# apps
|
# apps
|
||||||
|
|
@ -110,64 +100,5 @@ in
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
boot = {
|
|
||||||
kernelPackages = pkgs.linuxPackages_latest;
|
|
||||||
|
|
||||||
loader = {
|
|
||||||
systemd-boot.enable = true;
|
|
||||||
efi.canTouchEfiVariables = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
initrd.availableKernelModules = [
|
|
||||||
"nvme"
|
|
||||||
"ahci"
|
|
||||||
"xhci_pci"
|
|
||||||
"usbhid"
|
|
||||||
"usb_storage"
|
|
||||||
"sd_mod"
|
|
||||||
];
|
|
||||||
kernelModules = [ "kvm-amd" ];
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
fileSystems = {
|
|
||||||
"/" = {
|
|
||||||
device = "/dev/disk/by-uuid/b1a956f4-91d5-456e-a92b-be505bb719bd";
|
|
||||||
fsType = "ext4";
|
|
||||||
};
|
|
||||||
|
|
||||||
"/boot" = {
|
|
||||||
device = "/dev/disk/by-uuid/B4D4-8BA0";
|
|
||||||
fsType = "vfat";
|
|
||||||
options = [
|
|
||||||
"fmask=0077"
|
|
||||||
"dmask=0077"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
"/storage" = {
|
|
||||||
device = "/dev/disk/by-uuid/c3c1dec1-7716-4c37-a3f2-bb60f9af84fd";
|
|
||||||
fsType = "ext4";
|
|
||||||
};
|
|
||||||
|
|
||||||
"/var/lib/bluetooth" = {
|
|
||||||
device = "/persist/var/lib/bluetooth";
|
|
||||||
options = [
|
|
||||||
"bind"
|
|
||||||
"noauto"
|
|
||||||
"x-systemd.automount"
|
|
||||||
];
|
|
||||||
noCheck = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
swapDevices = [
|
|
||||||
{ device = "/dev/disk/by-uuid/4bec00ec-e9eb-4034-836a-ecf15e0bb40e"; }
|
|
||||||
];
|
|
||||||
|
|
||||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
|
||||||
hardware.enableRedistributableFirmware = true;
|
|
||||||
hardware.cpu.amd.updateMicrocode = true;
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
71
modules/hosts/yggdrasil/hardware.nix
Normal file
71
modules/hosts/yggdrasil/hardware.nix
Normal file
|
|
@ -0,0 +1,71 @@
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
in
|
||||||
|
{
|
||||||
|
flake.modules.nixos."hosts/yggdrasil" =
|
||||||
|
{ lib, pkgs, ... }:
|
||||||
|
{
|
||||||
|
|
||||||
|
boot = {
|
||||||
|
kernelPackages = pkgs.linuxPackages_latest;
|
||||||
|
|
||||||
|
loader = {
|
||||||
|
systemd-boot.enable = true;
|
||||||
|
efi.canTouchEfiVariables = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
initrd.availableKernelModules = [
|
||||||
|
"nvme"
|
||||||
|
"ahci"
|
||||||
|
"xhci_pci"
|
||||||
|
"usbhid"
|
||||||
|
"usb_storage"
|
||||||
|
"sd_mod"
|
||||||
|
];
|
||||||
|
kernelModules = [ "kvm-amd" ];
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems = {
|
||||||
|
"/" = {
|
||||||
|
device = "/dev/disk/by-uuid/b1a956f4-91d5-456e-a92b-be505bb719bd";
|
||||||
|
fsType = "ext4";
|
||||||
|
};
|
||||||
|
|
||||||
|
"/boot" = {
|
||||||
|
device = "/dev/disk/by-uuid/B4D4-8BA0";
|
||||||
|
fsType = "vfat";
|
||||||
|
options = [
|
||||||
|
"fmask=0077"
|
||||||
|
"dmask=0077"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
"/storage" = {
|
||||||
|
device = "/dev/disk/by-uuid/c3c1dec1-7716-4c37-a3f2-bb60f9af84fd";
|
||||||
|
fsType = "ext4";
|
||||||
|
};
|
||||||
|
|
||||||
|
"/var/lib/bluetooth" = {
|
||||||
|
device = "/persist/var/lib/bluetooth";
|
||||||
|
options = [
|
||||||
|
"bind"
|
||||||
|
"noauto"
|
||||||
|
"x-systemd.automount"
|
||||||
|
];
|
||||||
|
noCheck = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
swapDevices = [
|
||||||
|
{ device = "/dev/disk/by-uuid/4bec00ec-e9eb-4034-836a-ecf15e0bb40e"; }
|
||||||
|
];
|
||||||
|
|
||||||
|
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||||
|
hardware.enableRedistributableFirmware = true;
|
||||||
|
hardware.cpu.amd.updateMicrocode = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
{
|
topLevel: {
|
||||||
flake.modules.nixos.server =
|
flake.modules.nixos.server =
|
||||||
{
|
{
|
||||||
config,
|
config,
|
||||||
|
|
@ -41,10 +41,10 @@
|
||||||
security.acme = {
|
security.acme = {
|
||||||
acceptTerms = true;
|
acceptTerms = true;
|
||||||
defaults = {
|
defaults = {
|
||||||
inherit (config.flake.meta.users.cholli) email;
|
inherit (topLevel.config.flake.meta.users.cholli) email;
|
||||||
|
|
||||||
group = lib.optional config.services.nginx.enable "nginx";
|
group = lib.mkIf config.services.nginx.enable "nginx";
|
||||||
reloadServices = lib.optional config.services.nginx.enable "nginx.service";
|
reloadServices = lib.mkIf config.services.nginx.enable "nginx.service";
|
||||||
|
|
||||||
dnsProvider = "netcup";
|
dnsProvider = "netcup";
|
||||||
environmentFile = config.sops.templates."netcup.env".path;
|
environmentFile = config.sops.templates."netcup.env".path;
|
||||||
|
|
|
||||||
|
|
@ -17,6 +17,7 @@
|
||||||
alsa.support32Bit = true;
|
alsa.support32Bit = true;
|
||||||
pulse.enable = true;
|
pulse.enable = true;
|
||||||
|
|
||||||
|
# TODO: make sure that `wpctl settings --save bluetooth.autoswitch-to-headset-profile false` is set since the things below are not working
|
||||||
wireplumber.configPackages = [
|
wireplumber.configPackages = [
|
||||||
(pkgs.writeTextDir "share/wireplumber/wireplumber.conf.d/11-bluetooth-policy.conf" ''
|
(pkgs.writeTextDir "share/wireplumber/wireplumber.conf.d/11-bluetooth-policy.conf" ''
|
||||||
wireplumber.settings = {
|
wireplumber.settings = {
|
||||||
|
|
|
||||||
|
|
@ -9,10 +9,10 @@
|
||||||
General = {
|
General = {
|
||||||
Experimental = true;
|
Experimental = true;
|
||||||
KernelExperimental = true;
|
KernelExperimental = true;
|
||||||
Enable = "Source,Sink,Media,Socket";
|
Enable = "Sink,Media,Socket";
|
||||||
|
Disable = "Handsfree,Headset,Source";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,7 @@
|
||||||
|
|
||||||
authorizedKeys = [
|
authorizedKeys = [
|
||||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHFrDiO5+vMfD5MimkzN32iw3MnSMLZ0mHvOrHVVmLD0"
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHFrDiO5+vMfD5MimkzN32iw3MnSMLZ0mHvOrHVVmLD0"
|
||||||
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAII4Pr7p0jizrvIl0UhcvrmL5SHRQQQWIcHLAnRFyUZS6"
|
||||||
];
|
];
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue