commit 072d97d2907b10474c7cf1e0462260ef19c5005c Author: voidarc Date: Wed Jul 29 13:59:12 2026 +0100 initial diff --git a/.session b/.session new file mode 100644 index 0000000..80b1858 --- /dev/null +++ b/.session @@ -0,0 +1,61 @@ +let SessionLoad = 1 +let s:so_save = &g:so | let s:siso_save = &g:siso | setg so=0 siso=0 | setl so=-1 siso=-1 +let v:this_session=expand(":p") +doautoall SessionLoadPre +silent only +silent tabonly +cd ~/Projects/nix-server +if expand('%') == '' && !&modified && line('$') <= 1 && getline(1) == '' + let s:wipebuf = bufnr('%') +endif +let s:shortmess_save = &shortmess +set shortmess+=aoO +badd +6 flake.nix +badd +21 modules/default.nix +badd +10 modules/parts.nix +badd +12 modules/hosts/server02/default.nix +badd +6 modules/hosts/server02/server02Configuration.nix +badd +20 modules/system/core/default.nix +badd +6 ~/Projects/nix-server/modules/system/core/bootloader.nix +badd +32 modules/system/core/locale.nix +badd +35 modules/system/core/nix-settings.nix +badd +7 modules/system/core/user.nix +badd +9 modules/hosts/server02/hardware-configuration.nix +argglobal +%argdel +$argadd modules/hosts/server02/server02Configuration.nix +edit modules/hosts/server02/server02Configuration.nix +argglobal +balt modules/hosts/server02/hardware-configuration.nix +setlocal foldmethod=manual +setlocal foldexpr=0 +setlocal foldmarker={{{,}}} +setlocal foldignore=# +setlocal foldlevel=0 +setlocal foldminlines=1 +setlocal foldnestmax=20 +setlocal foldenable +silent! normal! zE +let &fdl = &fdl +let s:l = 6 - ((5 * winheight(0) + 27) / 55) +if s:l < 1 | let s:l = 1 | endif +keepjumps exe s:l +normal! zt +keepjumps 6 +normal! 043| +tabnext 1 +if exists('s:wipebuf') && len(win_findbuf(s:wipebuf)) == 0 && getbufvar(s:wipebuf, '&buftype') isnot# 'terminal' + silent exe 'bwipe ' . s:wipebuf +endif +unlet! s:wipebuf +set winheight=1 winwidth=20 +let &shortmess = s:shortmess_save +let s:sx = expand(":p:r")."x.vim" +if filereadable(s:sx) + exe "source " . fnameescape(s:sx) +endif +let &g:so = s:so_save | let &g:siso = s:siso_save +nohlsearch +doautoall SessionLoadPost +unlet SessionLoad +" vim: set ft=vim : diff --git a/flake.lock b/flake.lock new file mode 100644 index 0000000..d0ecc0f --- /dev/null +++ b/flake.lock @@ -0,0 +1,1640 @@ +{ + "nodes": { + "aquamarine": { + "inputs": { + "hyprutils": [ + "nix-config", + "hyprland", + "hyprland", + "hyprutils" + ], + "hyprwayland-scanner": [ + "nix-config", + "hyprland", + "hyprland", + "hyprwayland-scanner" + ], + "nixpkgs": [ + "nix-config", + "hyprland", + "hyprland", + "nixpkgs" + ], + "systems": [ + "nix-config", + "hyprland", + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1784368054, + "narHash": "sha256-zF1iJkBQSDWmRO4/LEeHR1SpKY0lqZaxkoQJpPS9K9U=", + "owner": "hyprwm", + "repo": "aquamarine", + "rev": "9b5f14d9483445e766294eb8fbe0b8f370269ed0", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "aquamarine", + "type": "github" + } + }, + "beaker-src": { + "flake": false, + "locked": { + "lastModified": 1780436704, + "narHash": "sha256-3aMH1YblnpiXKdkQVMRLmMZ5/8G7vB4HAfLg7+izyHg=", + "ref": "refs/heads/master", + "rev": "360d6271e1a20d128430e52637d5d35f4c706ca5", + "revCount": 34, + "shallow": false, + "type": "git", + "url": "https://git.bwaaa.monster/beaker" + }, + "original": { + "shallow": false, + "type": "git", + "url": "https://git.bwaaa.monster/beaker" + } + }, + "crane": { + "locked": { + "lastModified": 1781825982, + "narHash": "sha256-SlXKwIRIhrOSAcTjCB3ftPLzJWZStQIPS7J1FlZPnKk=", + "owner": "ipetkov", + "repo": "crane", + "rev": "469fd08d0bcf6926321fa973c6777fbc87785dd7", + "type": "github" + }, + "original": { + "owner": "ipetkov", + "repo": "crane", + "type": "github" + } + }, + "crane_2": { + "locked": { + "lastModified": 1781825982, + "narHash": "sha256-SlXKwIRIhrOSAcTjCB3ftPLzJWZStQIPS7J1FlZPnKk=", + "owner": "ipetkov", + "repo": "crane", + "rev": "469fd08d0bcf6926321fa973c6777fbc87785dd7", + "type": "github" + }, + "original": { + "owner": "ipetkov", + "repo": "crane", + "type": "github" + } + }, + "davinci": { + "inputs": { + "nixpkgs": "nixpkgs", + "nixpkgs-pinned": "nixpkgs-pinned" + }, + "locked": { + "lastModified": 1782405315, + "narHash": "sha256-pZKG7KOr1NPtWwzfEnRZvAi7Uvndd4LiC0OVHjf5IPE=", + "ref": "refs/heads/main", + "rev": "c9859df9bd3781c63d838a1a90d22129885a910b", + "revCount": 5, + "type": "git", + "url": "https://git.voidarc.co.uk/voidarc/nixos.davinci" + }, + "original": { + "type": "git", + "url": "https://git.voidarc.co.uk/voidarc/nixos.davinci" + } + }, + "flake-compat": { + "flake": false, + "locked": { + "lastModified": 1767039857, + "narHash": "sha256-vNpUSpF5Nuw8xvDLj2KCwwksIbjua2LZCqhV1LNRDns=", + "owner": "NixOS", + "repo": "flake-compat", + "rev": "5edf11c44bc78a0d334f6334cdaf7d60d732daab", + "type": "github" + }, + "original": { + "owner": "NixOS", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-parts": { + "inputs": { + "nixpkgs-lib": "nixpkgs-lib" + }, + "locked": { + "lastModified": 1782949081, + "narHash": "sha256-vp6Y/Grm98ESt6ceOkWiHWyZRDV3J1RID4w+6NWK9yA=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "17c9d6cdfc60c64f4ee8d306f9bc0b4ccb51481e", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "flake-parts_2": { + "inputs": { + "nixpkgs-lib": "nixpkgs-lib_2" + }, + "locked": { + "lastModified": 1782949081, + "narHash": "sha256-vp6Y/Grm98ESt6ceOkWiHWyZRDV3J1RID4w+6NWK9yA=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "17c9d6cdfc60c64f4ee8d306f9bc0b4ccb51481e", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "flake-parts_3": { + "inputs": { + "nixpkgs-lib": "nixpkgs-lib_3" + }, + "locked": { + "lastModified": 1768135262, + "narHash": "sha256-PVvu7OqHBGWN16zSi6tEmPwwHQ4rLPU9Plvs8/1TUBY=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "80daad04eddbbf5a4d883996a73f3f542fa437ac", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "flake-parts_4": { + "inputs": { + "nixpkgs-lib": "nixpkgs-lib_4" + }, + "locked": { + "lastModified": 1768135262, + "narHash": "sha256-PVvu7OqHBGWN16zSi6tEmPwwHQ4rLPU9Plvs8/1TUBY=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "80daad04eddbbf5a4d883996a73f3f542fa437ac", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "flake-utils": { + "inputs": { + "systems": "systems_5" + }, + "locked": { + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_2": { + "inputs": { + "systems": "systems_7" + }, + "locked": { + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_3": { + "inputs": { + "systems": "systems_9" + }, + "locked": { + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "gotify-desktop": { + "inputs": { + "nixpkgs": [ + "nix-config", + "nixpkgs" + ], + "utils": "utils" + }, + "locked": { + "lastModified": 1783347374, + "narHash": "sha256-kdizmVOka0IACJaTeEgftxCeGxdwuT0ba1/9QPGDWgw=", + "owner": "voidarclabs", + "repo": "gotify-desktop", + "rev": "b4f62aab117238ce72c19809d19fcfee2b67f5d2", + "type": "github" + }, + "original": { + "owner": "voidarclabs", + "repo": "gotify-desktop", + "type": "github" + } + }, + "home-manager": { + "inputs": { + "nixpkgs": [ + "nix-config", + "hyprland", + "otter-launcher", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1769638001, + "narHash": "sha256-hGwdJ/+oo+IRo2TiWV/V8BWWptQihcdFV/olTONaHqg=", + "owner": "nix-community", + "repo": "home-manager", + "rev": "bd9f031efc634be4b80c5090b9171cc3a9f8e49c", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "home-manager", + "type": "github" + } + }, + "home-manager_2": { + "inputs": { + "nixpkgs": [ + "nix-config", + "otter-launcher", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1769638001, + "narHash": "sha256-hGwdJ/+oo+IRo2TiWV/V8BWWptQihcdFV/olTONaHqg=", + "owner": "nix-community", + "repo": "home-manager", + "rev": "bd9f031efc634be4b80c5090b9171cc3a9f8e49c", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "home-manager", + "type": "github" + } + }, + "hyprcursor": { + "inputs": { + "hyprlang": [ + "nix-config", + "hyprland", + "hyprland", + "hyprlang" + ], + "nixpkgs": [ + "nix-config", + "hyprland", + "hyprland", + "nixpkgs" + ], + "systems": [ + "nix-config", + "hyprland", + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1776511930, + "narHash": "sha256-fCpwFiTW0rT7oKJqr3cqHMnkwypSwQKpbtUEtxdkgrM=", + "owner": "hyprwm", + "repo": "hyprcursor", + "rev": "39435900785d0c560c6ae8777d29f28617d031ef", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprcursor", + "type": "github" + } + }, + "hyprgraphics": { + "inputs": { + "hyprutils": [ + "nix-config", + "hyprland", + "hyprland", + "hyprutils" + ], + "nixpkgs": [ + "nix-config", + "hyprland", + "hyprland", + "nixpkgs" + ], + "systems": [ + "nix-config", + "hyprland", + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1782566056, + "narHash": "sha256-haEZcHzYrePnjFOYSWTbxm/Nrla0aPslJfmvdCvqtVc=", + "owner": "hyprwm", + "repo": "hyprgraphics", + "rev": "c6e7b9f673f4360bc813d3dc75028f75ee88d3f8", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprgraphics", + "type": "github" + } + }, + "hyprland": { + "inputs": { + "hyprland": "hyprland_2", + "nixpkgs": "nixpkgs_3", + "otter-launcher": "otter-launcher", + "woomer": "woomer", + "wrappers": "wrappers", + "wshowkeys": "wshowkeys" + }, + "locked": { + "lastModified": 1785262861, + "narHash": "sha256-aSqAk+X2lcfWKICSTtVdramX5kkuUFy5MGOc58sl1NQ=", + "ref": "refs/heads/main", + "rev": "b8677a83f0f796acfd7dd26832ef27214f5a431f", + "revCount": 50, + "type": "git", + "url": "https://git.voidarc.co.uk/voidarc/hypr" + }, + "original": { + "type": "git", + "url": "https://git.voidarc.co.uk/voidarc/hypr" + } + }, + "hyprland-guiutils": { + "inputs": { + "aquamarine": [ + "nix-config", + "hyprland", + "hyprland", + "aquamarine" + ], + "hyprgraphics": [ + "nix-config", + "hyprland", + "hyprland", + "hyprgraphics" + ], + "hyprlang": [ + "nix-config", + "hyprland", + "hyprland", + "hyprlang" + ], + "hyprtoolkit": "hyprtoolkit", + "hyprutils": [ + "nix-config", + "hyprland", + "hyprland", + "hyprutils" + ], + "hyprwayland-scanner": [ + "nix-config", + "hyprland", + "hyprland", + "hyprwayland-scanner" + ], + "nixpkgs": [ + "nix-config", + "hyprland", + "hyprland", + "nixpkgs" + ], + "systems": [ + "nix-config", + "hyprland", + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1784196523, + "narHash": "sha256-ahtKMGXFJdlQNhatQm1+BBU/pGfGYnAqQt3vWvq4p8s=", + "owner": "hyprwm", + "repo": "hyprland-guiutils", + "rev": "a6ccb6cb112ed5a244c0191fb972347ecfa893e0", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprland-guiutils", + "type": "github" + } + }, + "hyprland-protocols": { + "inputs": { + "nixpkgs": [ + "nix-config", + "hyprland", + "hyprland", + "nixpkgs" + ], + "systems": [ + "nix-config", + "hyprland", + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1772460177, + "narHash": "sha256-/6G/MsPvtn7bc4Y32pserBT/Z4SUUdBd4XYJpOEKVR4=", + "owner": "hyprwm", + "repo": "hyprland-protocols", + "rev": "1cb6db5fd6bb8aee419f4457402fa18293ace917", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprland-protocols", + "type": "github" + } + }, + "hyprland_2": { + "inputs": { + "aquamarine": "aquamarine", + "hyprcursor": "hyprcursor", + "hyprgraphics": "hyprgraphics", + "hyprland-guiutils": "hyprland-guiutils", + "hyprland-protocols": "hyprland-protocols", + "hyprlang": "hyprlang", + "hyprutils": "hyprutils", + "hyprwayland-scanner": "hyprwayland-scanner", + "hyprwire": "hyprwire", + "nixpkgs": "nixpkgs_2", + "pre-commit-hooks": "pre-commit-hooks", + "systems": "systems_2", + "xdph": "xdph" + }, + "locked": { + "lastModified": 1785237127, + "narHash": "sha256-sMSWRj9zZ3O4Q1Bk8mKkdXsTb3zpXRESlrzWmQXmW54=", + "owner": "hyprwm", + "repo": "Hyprland", + "rev": "ff24e1755fd308ee70367d63168a12feb05d1fc2", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "Hyprland", + "type": "github" + } + }, + "hyprlang": { + "inputs": { + "hyprutils": [ + "nix-config", + "hyprland", + "hyprland", + "hyprutils" + ], + "nixpkgs": [ + "nix-config", + "hyprland", + "hyprland", + "nixpkgs" + ], + "systems": [ + "nix-config", + "hyprland", + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1777320127, + "narHash": "sha256-Qu+Wf2Bp5qUjyn2YpZNq8a7JyzTGowhT1knrwE38a9U=", + "owner": "hyprwm", + "repo": "hyprlang", + "rev": "090117506ddc3d7f26e650ff344d378c2ec329cc", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprlang", + "type": "github" + } + }, + "hyprtoolkit": { + "inputs": { + "aquamarine": [ + "nix-config", + "hyprland", + "hyprland", + "hyprland-guiutils", + "aquamarine" + ], + "hyprgraphics": [ + "nix-config", + "hyprland", + "hyprland", + "hyprland-guiutils", + "hyprgraphics" + ], + "hyprlang": [ + "nix-config", + "hyprland", + "hyprland", + "hyprland-guiutils", + "hyprlang" + ], + "hyprutils": [ + "nix-config", + "hyprland", + "hyprland", + "hyprland-guiutils", + "hyprutils" + ], + "hyprwayland-scanner": [ + "nix-config", + "hyprland", + "hyprland", + "hyprland-guiutils", + "hyprwayland-scanner" + ], + "nixpkgs": [ + "nix-config", + "hyprland", + "hyprland", + "hyprland-guiutils", + "nixpkgs" + ], + "systems": [ + "nix-config", + "hyprland", + "hyprland", + "hyprland-guiutils", + "systems" + ] + }, + "locked": { + "lastModified": 1782554491, + "narHash": "sha256-+p3MlyN/nqRefcf2IckPlGRUn9+hielqpS9XClbLleM=", + "owner": "hyprwm", + "repo": "hyprtoolkit", + "rev": "bdba25ced39ea39ab004a8f31593ba0b0ff1ca35", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprtoolkit", + "type": "github" + } + }, + "hyprutils": { + "inputs": { + "nixpkgs": [ + "nix-config", + "hyprland", + "hyprland", + "nixpkgs" + ], + "systems": [ + "nix-config", + "hyprland", + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1784323413, + "narHash": "sha256-XnAVV+H4f8Xdv0yZcSwJ5kCjLyE8fHxPeLX6a3HSrAU=", + "owner": "hyprwm", + "repo": "hyprutils", + "rev": "5f03477ab3a005ff27c527486f551883535aea2f", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprutils", + "type": "github" + } + }, + "hyprwayland-scanner": { + "inputs": { + "nixpkgs": [ + "nix-config", + "hyprland", + "hyprland", + "nixpkgs" + ], + "systems": [ + "nix-config", + "hyprland", + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1777159683, + "narHash": "sha256-Jxixw6wZphUp+nHYxOKUYSckL17QMBx2d5Zp0rJHr1g=", + "owner": "hyprwm", + "repo": "hyprwayland-scanner", + "rev": "b8632713a6beaf28b56f2a7b0ab2fb7088dbb404", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprwayland-scanner", + "type": "github" + } + }, + "hyprwire": { + "inputs": { + "hyprutils": [ + "nix-config", + "hyprland", + "hyprland", + "hyprutils" + ], + "nixpkgs": [ + "nix-config", + "hyprland", + "hyprland", + "nixpkgs" + ], + "systems": [ + "nix-config", + "hyprland", + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1778410714, + "narHash": "sha256-o6RzFj4nJXaPRY7EM01siuCQeT41RfwwmcmFQqwFJJg=", + "owner": "hyprwm", + "repo": "hyprwire", + "rev": "85148a8e612808cf5ddb25d0b3c5840f3498a7dc", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprwire", + "type": "github" + } + }, + "import-tree": { + "locked": { + "lastModified": 1784254960, + "narHash": "sha256-iI88R3wHz8wTKQb5orvpc51L/Xr64AJyxid/0MKa/b8=", + "owner": "vic", + "repo": "import-tree", + "rev": "4ebb10ae17d5f1ad366e7aef5b92cb8eecf24f69", + "type": "github" + }, + "original": { + "owner": "vic", + "repo": "import-tree", + "type": "github" + } + }, + "import-tree_2": { + "locked": { + "lastModified": 1784254960, + "narHash": "sha256-iI88R3wHz8wTKQb5orvpc51L/Xr64AJyxid/0MKa/b8=", + "owner": "vic", + "repo": "import-tree", + "rev": "4ebb10ae17d5f1ad366e7aef5b92cb8eecf24f69", + "type": "github" + }, + "original": { + "owner": "vic", + "repo": "import-tree", + "type": "github" + } + }, + "nix-config": { + "inputs": { + "davinci": "davinci", + "flake-parts": "flake-parts_2", + "gotify-desktop": "gotify-desktop", + "hyprland": "hyprland", + "import-tree": "import-tree_2", + "nixpkgs": "nixpkgs_6", + "nvim": "nvim", + "omnisearch": "omnisearch", + "otter-launcher": "otter-launcher_2", + "quickshell": "quickshell", + "sls-steam": "sls-steam", + "weylus": "weylus", + "woomer": "woomer_2", + "wrappers": "wrappers_3", + "wshowkeys": "wshowkeys_2" + }, + "locked": { + "lastModified": 1785265150, + "narHash": "sha256-xoQZ4Zh4L7V9XnIAe31hRnXK3EHqwh9PalGR+qzRWEs=", + "ref": "dendritic", + "rev": "7a3d2fee77eabeac7d010dcc3e002dc0613b2961", + "revCount": 216, + "type": "git", + "url": "https://git.voidarc.co.uk/voidarc/nixos.git" + }, + "original": { + "ref": "dendritic", + "type": "git", + "url": "https://git.voidarc.co.uk/voidarc/nixos.git" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 1782233679, + "narHash": "sha256-QyuGP5+QOtmXpy4i2X4DhBVBaySBdDKQEhqKcphcp34=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "667d5cf1c59585031d743c78b394b0a647537c35", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-26.05", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-lib": { + "locked": { + "lastModified": 1782614948, + "narHash": "sha256-ePjCwr1sNm9NYUqywL7QfK3JnlS015msC+eBu2zKlp8=", + "owner": "nix-community", + "repo": "nixpkgs.lib", + "rev": "db3f255737b94216eb71cce308e2912cf6bc2d7c", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nixpkgs.lib", + "type": "github" + } + }, + "nixpkgs-lib_2": { + "locked": { + "lastModified": 1782614948, + "narHash": "sha256-ePjCwr1sNm9NYUqywL7QfK3JnlS015msC+eBu2zKlp8=", + "owner": "nix-community", + "repo": "nixpkgs.lib", + "rev": "db3f255737b94216eb71cce308e2912cf6bc2d7c", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nixpkgs.lib", + "type": "github" + } + }, + "nixpkgs-lib_3": { + "locked": { + "lastModified": 1765674936, + "narHash": "sha256-k00uTP4JNfmejrCLJOwdObYC9jHRrr/5M/a/8L2EIdo=", + "owner": "nix-community", + "repo": "nixpkgs.lib", + "rev": "2075416fcb47225d9b68ac469a5c4801a9c4dd85", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nixpkgs.lib", + "type": "github" + } + }, + "nixpkgs-lib_4": { + "locked": { + "lastModified": 1765674936, + "narHash": "sha256-k00uTP4JNfmejrCLJOwdObYC9jHRrr/5M/a/8L2EIdo=", + "owner": "nix-community", + "repo": "nixpkgs.lib", + "rev": "2075416fcb47225d9b68ac469a5c4801a9c4dd85", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nixpkgs.lib", + "type": "github" + } + }, + "nixpkgs-pinned": { + "locked": { + "lastModified": 1772567409, + "narHash": "sha256-qspxGige37s/66q9sptyG5VA/l2IOmMMZVJ4Xhta2wU=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "e4ec59bc1152b09a4843702e4a49381194f065a2", + "type": "github" + }, + "original": { + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "e4ec59bc1152b09a4843702e4a49381194f065a2", + "type": "github" + } + }, + "nixpkgs_10": { + "locked": { + "lastModified": 1744536153, + "narHash": "sha256-awS2zRgF4uTwrOKwwiJcByDzDOdo3Q1rPZbiHQg/N38=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "18dd725c29603f582cf1900e0d25f9f1063dbf11", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_11": { + "locked": { + "lastModified": 1780336545, + "narHash": "sha256-vhVhuXzFrIOfcssC/9hDHx7MHzDKjF3keHuREOQqQiQ=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "4df1b885d76a54e1aa1a318f8d16fd6005b6401f", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_12": { + "locked": { + "lastModified": 1785090369, + "narHash": "sha256-m0pDuRJG7EDo9ri+4Ksu83VsI+PlxNC9lNBfydejce4=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "624af665418d3c65d544145b4d34ad696439570e", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_13": { + "locked": { + "lastModified": 1780336545, + "narHash": "sha256-vhVhuXzFrIOfcssC/9hDHx7MHzDKjF3keHuREOQqQiQ=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "4df1b885d76a54e1aa1a318f8d16fd6005b6401f", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_2": { + "locked": { + "lastModified": 1784356753, + "narHash": "sha256-12KrbMiWLcf8m7pCvAtZh1ZrgF85ZXDXvfR/fWTKy84=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "61b7c44c4073f0b827768aff0049561b5110ea5a", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_3": { + "locked": { + "lastModified": 1785090369, + "narHash": "sha256-m0pDuRJG7EDo9ri+4Ksu83VsI+PlxNC9lNBfydejce4=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "624af665418d3c65d544145b4d34ad696439570e", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_4": { + "locked": { + "lastModified": 1782175435, + "narHash": "sha256-EMzXKmnOtBQ2MnvpiNOm7E+kOMvdPrIKaeg52Tip2Uk=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "89570f24e97e614aa34aa9ab1c927b6578a43775", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_5": { + "locked": { + "lastModified": 1773734432, + "narHash": "sha256-IF5ppUWh6gHGHYDbtVUyhwy/i7D261P7fWD1bPefOsw=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "cda48547b432e8d3b18b4180ba07473762ec8558", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_6": { + "locked": { + "lastModified": 1785104993, + "narHash": "sha256-eKbrvPoAOFutbYMdbB3r5EQVmFxKv24iKqHPPUXA0gM=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "8623c4c20aa4ca2f5fb81510d2944066c3fb0d96", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-26.05", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_7": { + "locked": { + "lastModified": 1782467914, + "narHash": "sha256-pGvFkM8N0xEkIIXDe5YYfbEAvHrk4IxBrjB/x8OomhE=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "e73de5be04e0eff4190a1432b946d469c794e7b4", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_8": { + "locked": { + "lastModified": 1780336545, + "narHash": "sha256-vhVhuXzFrIOfcssC/9hDHx7MHzDKjF3keHuREOQqQiQ=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "4df1b885d76a54e1aa1a318f8d16fd6005b6401f", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_9": { + "locked": { + "lastModified": 1783224372, + "narHash": "sha256-8i/87eeoqiGE4yOTjwSA3Eh/ziJRQEmd/unYU+K27sk=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "d407951447dcd00442e97087bf374aad70c04cea", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nvim": { + "inputs": { + "nixpkgs": "nixpkgs_7", + "wrappers": "wrappers_2" + }, + "locked": { + "lastModified": 1783352922, + "narHash": "sha256-59Kea6PaeTM6ZBEAWzdPnuLlij2emLd21JsPnobR3B0=", + "ref": "refs/heads/main", + "rev": "970da906087f0691932418db8757803d64f60c28", + "revCount": 94, + "type": "git", + "url": "https://git.voidarc.co.uk/voidarc/nvim" + }, + "original": { + "type": "git", + "url": "https://git.voidarc.co.uk/voidarc/nvim" + } + }, + "omnisearch": { + "inputs": { + "beaker-src": "beaker-src", + "nixpkgs": [ + "nix-config", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1780508528, + "narHash": "sha256-0OkItQH4D8KcS+mIxgrzGHTHMl7Eb6ZHzTN3UmZbtWI=", + "ref": "refs/heads/master", + "rev": "e48c6366d07e0357afa379dff7b73328589164e5", + "revCount": 131, + "type": "git", + "url": "https://git.voidarc.co.uk/voidarc/omnisearch" + }, + "original": { + "type": "git", + "url": "https://git.voidarc.co.uk/voidarc/omnisearch" + } + }, + "otter-launcher": { + "inputs": { + "flake-parts": "flake-parts_3", + "home-manager": "home-manager", + "nixpkgs": [ + "nix-config", + "hyprland", + "nixpkgs" + ], + "systems": "systems_3" + }, + "locked": { + "lastModified": 1783875707, + "narHash": "sha256-Ryg3PqFcGydelQpgPF0j8GMaXaGDrNTSesEy6fDw/eg=", + "owner": "kuokuo123", + "repo": "otter-launcher", + "rev": "242e5da4f0acc0b4301be7b4546f5afb3e4b23d6", + "type": "github" + }, + "original": { + "owner": "kuokuo123", + "repo": "otter-launcher", + "type": "github" + } + }, + "otter-launcher_2": { + "inputs": { + "flake-parts": "flake-parts_4", + "home-manager": "home-manager_2", + "nixpkgs": [ + "nix-config", + "nixpkgs" + ], + "systems": "systems_6" + }, + "locked": { + "lastModified": 1783875707, + "narHash": "sha256-Ryg3PqFcGydelQpgPF0j8GMaXaGDrNTSesEy6fDw/eg=", + "owner": "kuokuo123", + "repo": "otter-launcher", + "rev": "242e5da4f0acc0b4301be7b4546f5afb3e4b23d6", + "type": "github" + }, + "original": { + "owner": "kuokuo123", + "repo": "otter-launcher", + "type": "github" + } + }, + "pre-commit-hooks": { + "inputs": { + "flake-compat": "flake-compat", + "nixpkgs": [ + "nix-config", + "hyprland", + "hyprland", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1784288435, + "narHash": "sha256-ReRHaLgr/uVqdD8afFSn+myXIfpHeOhP0yYe0TJqAA8=", + "owner": "cachix", + "repo": "git-hooks.nix", + "rev": "43b3c1ab9d40fb1dbb008f451988a91e375825e9", + "type": "github" + }, + "original": { + "owner": "cachix", + "repo": "git-hooks.nix", + "type": "github" + } + }, + "quickshell": { + "flake": false, + "locked": { + "lastModified": 1783436659, + "narHash": "sha256-rh0BJlcRM8nFet9aYIaZMxe7M6BMNJOrSgJi3cPQ+Tc=", + "ref": "refs/heads/main", + "rev": "68d4240fcbc605ee36a0e71797c04c0ac33f3e19", + "revCount": 25, + "type": "git", + "url": "https://git.voidarc.co.uk/voidarc/quickshell" + }, + "original": { + "type": "git", + "url": "https://git.voidarc.co.uk/voidarc/quickshell" + } + }, + "root": { + "inputs": { + "flake-parts": "flake-parts", + "import-tree": "import-tree", + "nix-config": "nix-config", + "nixpkgs": "nixpkgs_12", + "wrappers": "wrappers_4" + } + }, + "rust-overlay": { + "inputs": { + "nixpkgs": "nixpkgs_10" + }, + "locked": { + "lastModified": 1784438913, + "narHash": "sha256-NYF7ZM5ip0u+w1pBFDpIGEbrbgN/wpnLFAmBkWkYMXw=", + "owner": "oxalica", + "repo": "rust-overlay", + "rev": "afacd6819d3765a05814ee8e3de74c77d42ac799", + "type": "github" + }, + "original": { + "owner": "oxalica", + "repo": "rust-overlay", + "type": "github" + } + }, + "sls-steam": { + "inputs": { + "nixpkgs": "nixpkgs_9" + }, + "locked": { + "lastModified": 1785224226, + "narHash": "sha256-Aj0ZA0boiYSPrvN+5ECpcYmx8OFEF+M1OoVY7ko0H/E=", + "owner": "AceSLS", + "repo": "SLSsteam", + "rev": "4f7b79143a47a8ecb97c323745c7593d55fd6f20", + "type": "github" + }, + "original": { + "owner": "AceSLS", + "repo": "SLSsteam", + "type": "github" + } + }, + "systems": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "systems_2": { + "locked": { + "lastModified": 1689347949, + "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", + "owner": "nix-systems", + "repo": "default-linux", + "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default-linux", + "type": "github" + } + }, + "systems_3": { + "locked": { + "lastModified": 1689347949, + "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", + "owner": "nix-systems", + "repo": "default-linux", + "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default-linux", + "type": "github" + } + }, + "systems_4": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "systems_5": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "systems_6": { + "locked": { + "lastModified": 1689347949, + "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", + "owner": "nix-systems", + "repo": "default-linux", + "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default-linux", + "type": "github" + } + }, + "systems_7": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "systems_8": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "systems_9": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "utils": { + "inputs": { + "systems": "systems" + }, + "locked": { + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "weylus": { + "inputs": { + "flake-utils": "flake-utils_2", + "nixpkgs": [ + "nix-config", + "nixpkgs" + ], + "rust-overlay": "rust-overlay" + }, + "locked": { + "lastModified": 1784471251, + "narHash": "sha256-07//RRO1xhgR4lKyq460+iOEDHUw21rJRi59fMUhLfM=", + "owner": "voidarclabs", + "repo": "WeylusCommunityEdition", + "rev": "bcf34c2a2c9d3cbac00ca0d3e6ede5b3bbc6a18c", + "type": "github" + }, + "original": { + "owner": "voidarclabs", + "repo": "WeylusCommunityEdition", + "type": "github" + } + }, + "woomer": { + "inputs": { + "crane": "crane", + "nixpkgs": "nixpkgs_4", + "systems": "systems_4" + }, + "locked": { + "lastModified": 1782685056, + "narHash": "sha256-WJasTKjf1hcxdCc+jKL3dU5RIL2zdYJ/OBFTmIUbuXc=", + "owner": "coffeeispower", + "repo": "woomer", + "rev": "a7a0b288f70b98d168eaa0e8714816d3583c33b1", + "type": "github" + }, + "original": { + "owner": "coffeeispower", + "repo": "woomer", + "type": "github" + } + }, + "woomer_2": { + "inputs": { + "crane": "crane_2", + "nixpkgs": [ + "nix-config", + "nixpkgs" + ], + "systems": "systems_8" + }, + "locked": { + "lastModified": 1782685056, + "narHash": "sha256-WJasTKjf1hcxdCc+jKL3dU5RIL2zdYJ/OBFTmIUbuXc=", + "owner": "coffeeispower", + "repo": "woomer", + "rev": "a7a0b288f70b98d168eaa0e8714816d3583c33b1", + "type": "github" + }, + "original": { + "owner": "coffeeispower", + "repo": "woomer", + "type": "github" + } + }, + "wrappers": { + "inputs": { + "nixpkgs": "nixpkgs_5" + }, + "locked": { + "lastModified": 1785177581, + "narHash": "sha256-9Z4l080DSrHMxoQTZTpVsML2h6JDuB9lDwHPsLd9BrQ=", + "owner": "lassulus", + "repo": "wrappers", + "rev": "f57bc81aa9669871343341b13aa175c8927b6a74", + "type": "github" + }, + "original": { + "owner": "lassulus", + "repo": "wrappers", + "type": "github" + } + }, + "wrappers_2": { + "inputs": { + "nixpkgs": "nixpkgs_8" + }, + "locked": { + "lastModified": 1782135443, + "narHash": "sha256-vAmbArdCyjqpVW+37aCy/PMBOLIqukUXLQuEKLwUhA4=", + "owner": "BirdeeHub", + "repo": "nix-wrapper-modules", + "rev": "6e7f66fa2cdf4d63162580b438f7fcf87c28a46f", + "type": "github" + }, + "original": { + "owner": "BirdeeHub", + "repo": "nix-wrapper-modules", + "type": "github" + } + }, + "wrappers_3": { + "inputs": { + "nixpkgs": "nixpkgs_11" + }, + "locked": { + "lastModified": 1782135443, + "narHash": "sha256-vAmbArdCyjqpVW+37aCy/PMBOLIqukUXLQuEKLwUhA4=", + "owner": "BirdeeHub", + "repo": "nix-wrapper-modules", + "rev": "6e7f66fa2cdf4d63162580b438f7fcf87c28a46f", + "type": "github" + }, + "original": { + "owner": "BirdeeHub", + "repo": "nix-wrapper-modules", + "type": "github" + } + }, + "wrappers_4": { + "inputs": { + "nixpkgs": "nixpkgs_13" + }, + "locked": { + "lastModified": 1782135443, + "narHash": "sha256-vAmbArdCyjqpVW+37aCy/PMBOLIqukUXLQuEKLwUhA4=", + "owner": "BirdeeHub", + "repo": "nix-wrapper-modules", + "rev": "6e7f66fa2cdf4d63162580b438f7fcf87c28a46f", + "type": "github" + }, + "original": { + "owner": "BirdeeHub", + "repo": "nix-wrapper-modules", + "type": "github" + } + }, + "wshowkeys": { + "inputs": { + "flake-utils": "flake-utils", + "nixpkgs": [ + "nix-config", + "hyprland", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1781708685, + "narHash": "sha256-NH5b736WoI9LodJKPlonO1X+Lxg8URMLLRkT5to61Zg=", + "owner": "voidarclabs", + "repo": "wshowkeys", + "rev": "47dfb7a0237acbf847ca28cbb88000b33929f50a", + "type": "github" + }, + "original": { + "owner": "voidarclabs", + "repo": "wshowkeys", + "type": "github" + } + }, + "wshowkeys_2": { + "inputs": { + "flake-utils": "flake-utils_3", + "nixpkgs": [ + "nix-config", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1781708685, + "narHash": "sha256-NH5b736WoI9LodJKPlonO1X+Lxg8URMLLRkT5to61Zg=", + "owner": "voidarclabs", + "repo": "wshowkeys", + "rev": "47dfb7a0237acbf847ca28cbb88000b33929f50a", + "type": "github" + }, + "original": { + "owner": "voidarclabs", + "repo": "wshowkeys", + "type": "github" + } + }, + "xdph": { + "inputs": { + "hyprland-protocols": [ + "nix-config", + "hyprland", + "hyprland", + "hyprland-protocols" + ], + "hyprlang": [ + "nix-config", + "hyprland", + "hyprland", + "hyprlang" + ], + "hyprutils": [ + "nix-config", + "hyprland", + "hyprland", + "hyprutils" + ], + "hyprwayland-scanner": [ + "nix-config", + "hyprland", + "hyprland", + "hyprwayland-scanner" + ], + "nixpkgs": [ + "nix-config", + "hyprland", + "hyprland", + "nixpkgs" + ], + "systems": [ + "nix-config", + "hyprland", + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1784371182, + "narHash": "sha256-S8A1lezEalltWcCp3gAic5lssS0xTSISK6fKODefhOk=", + "owner": "hyprwm", + "repo": "xdg-desktop-portal-hyprland", + "rev": "08d99f727944dd15e4740090305e31c5fb92a50a", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "xdg-desktop-portal-hyprland", + "type": "github" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..b8e19d1 --- /dev/null +++ b/flake.nix @@ -0,0 +1,15 @@ +{ + description = "nix flake config for server02"; + + inputs = { + nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable"; + nix-config.url = "git+https://git.voidarc.co.uk/voidarc/nixos.git?ref=dendritic"; + + # flake parts + flake-parts.url = "github:hercules-ci/flake-parts"; + import-tree.url = "github:vic/import-tree"; + wrappers.url = "github:BirdeeHub/nix-wrapper-modules"; + }; + + outputs = inputs: inputs.flake-parts.lib.mkFlake {inherit inputs;} (inputs.import-tree ./modules); +} diff --git a/modules/default.nix b/modules/default.nix new file mode 100644 index 0000000..bf51bf4 --- /dev/null +++ b/modules/default.nix @@ -0,0 +1,29 @@ +{ + self, + moduleWithSystem, + ... +}: { + flake.nixosModules.name = moduleWithSystem ({ + pkgs, + self', + inputs', + ... + }: let + modules = with self.nixosModules; []; + in { + imports = modules; + programs.name = { + enable = true; + package = self'.packages.hello; + }; + }); + perSystem = { + pkgs, + lib, + self', + ... + }: { + packages.hello = pkgs.hello; + }; +} + diff --git a/modules/hosts/server02/default.nix b/modules/hosts/server02/default.nix new file mode 100644 index 0000000..fd480ec --- /dev/null +++ b/modules/hosts/server02/default.nix @@ -0,0 +1,18 @@ +{ + self, + inputs, + ... +}: { + flake.nixosConfigurations.server02 = inputs.nixpkgs.lib.nixosSystem { + modules = with self.nixosModules; + [ + server02Configuration + core + ] + ++ (with inputs.nix-config.nixosModules; [ + nvim + git + zsh + ]); + }; +} diff --git a/modules/hosts/server02/hardware-configuration.nix b/modules/hosts/server02/hardware-configuration.nix new file mode 100644 index 0000000..ed2c134 --- /dev/null +++ b/modules/hosts/server02/hardware-configuration.nix @@ -0,0 +1,221 @@ +# Do not modify this file! It was generated by ‘nixos-generate-config’ +# and may be overwritten by future invocations. Please make changes +# to /etc/nixos/configuration.nix instead. +{ + config, + lib, + pkgs, + modulesPath, + ... +}: { + # imports = [ + # (modulesPath + "/installer/scan/not-detected.nix") + # ]; + + boot.initrd.availableKernelModules = ["ehci_pci" "ahci"]; + boot.initrd.kernelModules = []; + boot.kernelModules = ["kvm-intel"]; + boot.extraModulePackages = []; + + fileSystems."/" = { + device = "/dev/disk/by-uuid/d4e94dc6-9f91-48f7-a15c-5fa692e1e5af"; + fsType = "ext4"; + }; + + # fileSystems."/root/storage" = + # { device = "1:2"; + # fsType = "fuse.mergerfs"; + # }; + + fileSystems."/boot" = { + device = "/dev/disk/by-uuid/4F7D-B111"; + fsType = "vfat"; + options = ["fmask=0022" "dmask=0022"]; + }; + + # fileSystems."/root/.drive02" = + # { device = "/dev/disk/by-uuid/842c9326-9cc8-4c96-82d1-c14a233322b1"; + # fsType = "ext4"; + # }; + # + # fileSystems."/root/.drive01" = + # { device = "/dev/disk/by-uuid/bccbe88e-6de3-4590-ac19-4ac5edb107d7"; + # fsType = "ext4"; + # }; + # + # fileSystems."/var/lib/docker/plugins/c4120f8fa8cb60eab3d378a19b017aebe296795e48eed8e3060804b379d87399/propagated-mount" = + # { device = "/var/lib/docker/plugins/c4120f8fa8cb60eab3d378a19b017aebe296795e48eed8e3060804b379d87399/propagated-mount"; + # fsType = "none"; + # options = [ "bind" ]; + # }; + # + # fileSystems."/var/lib/docker/overlay2/73c9c82c5efb91ec67ce846db8769f7bfb48c7e05285a39cb10c31663315db02/merged" = + # { device = "overlay"; + # fsType = "overlay"; + # }; + # + # fileSystems."/var/lib/docker/overlay2/307e8281da20fb717ef42688aff2bc867943e3a99ceced4e254151a04e75f3bc/merged" = + # { device = "overlay"; + # fsType = "overlay"; + # }; + # + # fileSystems."/var/lib/docker/overlay2/3ac827d97a4191f0da71179c2d054ac9bc290198fa2ef7b174e1a62ff0a9f729/merged" = + # { device = "overlay"; + # fsType = "overlay"; + # }; + # + # fileSystems."/var/lib/docker/overlay2/8378b4653a99b0245b6404fdb7723bb08ef9562d3418ae332bf1c6250b5c1e28/merged" = + # { device = "overlay"; + # fsType = "overlay"; + # }; + # + # fileSystems."/var/lib/docker/overlay2/23bfc096943dfdc7fe3eeeca915d3b615a001c84a7118430dad1b9da0943df5a/merged" = + # { device = "overlay"; + # fsType = "overlay"; + # }; + # + # fileSystems."/var/lib/docker/overlay2/bd6e721ecb747198b8274e35fb3e5006ed3ce661ea8e48ba8eca122aa25e32e3/merged" = + # { device = "overlay"; + # fsType = "overlay"; + # }; + # + # fileSystems."/var/lib/docker/overlay2/b7bc27eb0dbf0be4c754d25064cdd51582f6d930b8f9a41a144126f4ec54c302/merged" = + # { device = "overlay"; + # fsType = "overlay"; + # }; + # + # fileSystems."/var/lib/docker/overlay2/350059d31d3d66a4d550c8aeae7308ba1710b3aea0080d67108a9d089cbfd35e/merged" = + # { device = "overlay"; + # fsType = "overlay"; + # }; + # + # fileSystems."/var/lib/docker/overlay2/5ccc1b072a40fab27559f5e475c80a0ed5ab3bfa98bd8bfff35b2ac0343f3a94/merged" = + # { device = "overlay"; + # fsType = "overlay"; + # }; + # + # fileSystems."/var/lib/docker/overlay2/920d88be3abb6a4119a779a50fc8b05cffbdd812d02412a2c1a2970a13769856/merged" = + # { device = "overlay"; + # fsType = "overlay"; + # }; + # + # fileSystems."/var/lib/docker/overlay2/7076053237f83bdfdafa7b0c4b11f441eeb77daea2b19880b3fb5afa4d0cb8e9/merged" = + # { device = "overlay"; + # fsType = "overlay"; + # }; + # + # fileSystems."/var/lib/docker/overlay2/7bea710f9027985871b4073793c46f91ab689eeca00b877b4c0e252e45cf5e77/merged" = + # { device = "overlay"; + # fsType = "overlay"; + # }; + # + # fileSystems."/var/lib/docker/overlay2/49966a5297c8a06c76e7759c4d0cdc1f57640db5267fbb10be8e3380a0d3dfae/merged" = + # { device = "overlay"; + # fsType = "overlay"; + # }; + # + # fileSystems."/var/lib/docker/overlay2/6005a10ed26aecace89554efaf4d3f659497a65672e5617b69436bc6ce55fcce/merged" = + # { device = "overlay"; + # fsType = "overlay"; + # }; + # + # fileSystems."/var/lib/docker/overlay2/611835e567ba6743b84158825f0772eef4fa9ad6f5dbe21688f191f66d74e67a/merged" = + # { device = "overlay"; + # fsType = "overlay"; + # }; + # + # fileSystems."/var/lib/docker/overlay2/a1c2936c21bea5fbaf1aeee9868a8257b59a95a0ee469f2cf625043110648e84/merged" = + # { device = "overlay"; + # fsType = "overlay"; + # }; + # + # fileSystems."/var/lib/docker/overlay2/fa1801418bcc376df004e790340c155369f4a7183b99d62331cfeb55a86bb67b/merged" = + # { device = "overlay"; + # fsType = "overlay"; + # }; + # + # fileSystems."/var/lib/docker/overlay2/d2001d0a70120897324e689a037251200ecde5bbd471e9ed479c6be41e9dea37/merged" = + # { device = "overlay"; + # fsType = "overlay"; + # }; + # + # fileSystems."/var/lib/docker/overlay2/841ab54d8f67a54731fdc4c8ce4af1213fab151c24e8363fc2d65ef5bfe559d0/merged" = + # { device = "overlay"; + # fsType = "overlay"; + # }; + # + # fileSystems."/var/lib/docker/overlay2/bdbf1bdd70c87ff5e36d14bb4d0479c7e030bc40902f7edbec209bd3bce19d76/merged" = + # { device = "overlay"; + # fsType = "overlay"; + # }; + # + # fileSystems."/var/lib/docker/overlay2/a69f03080494107191f8b7dfaf187e310baf05777fce6717a5c3dc5403986d7a/merged" = + # { device = "overlay"; + # fsType = "overlay"; + # }; + # + # fileSystems."/var/lib/docker/overlay2/8c484d032fa26caeef8f24753c07ad2d9b8c3faebf4ad023080193400bc84476/merged" = + # { device = "overlay"; + # fsType = "overlay"; + # }; + # + # fileSystems."/var/lib/docker/overlay2/ea7ebc83f6ed537636a3f5a51d9951913a0e606869171abbc921457149e55dfe/merged" = + # { device = "overlay"; + # fsType = "overlay"; + # }; + # + # fileSystems."/var/lib/docker/overlay2/aa63044c954417169b4badf1880d7db9db4e22cc8bcbaf6a50a0459f3a46edef/merged" = + # { device = "overlay"; + # fsType = "overlay"; + # }; + # + # fileSystems."/var/lib/docker/overlay2/7a8c8fcb0f56285089eb83dca9c51c65006b32dc9450c688e75655c7396ac0a3/merged" = + # { device = "overlay"; + # fsType = "overlay"; + # }; + # + # fileSystems."/var/lib/docker/overlay2/50fd98b78bf6e73bc06e575f4deb9ca3e08ad5356c54726eda4447b2c3d1e3dd/merged" = + # { device = "overlay"; + # fsType = "overlay"; + # }; + # + # fileSystems."/var/lib/docker/overlay2/cd44f75d0cf10b13b05d0adf4e61fe3d4c3a1a58427516a6b26b17a00ed34f5a/merged" = + # { device = "overlay"; + # fsType = "overlay"; + # }; + # + # fileSystems."/var/lib/docker/overlay2/3c8d485956a4bf043bb8f9fa66f7a3bd354447ba68c5b5b005d0a9da29c26db4/merged" = + # { device = "overlay"; + # fsType = "overlay"; + # }; + # + # fileSystems."/var/lib/docker/overlay2/a8ddc365eec265d237d3445ba68756083e5d8b31927e617fe84454e7e7bda160/merged" = + # { device = "overlay"; + # fsType = "overlay"; + # }; + # + # fileSystems."/var/lib/docker/overlay2/874b2bfac8d4790a4f96303368ae6aa4230566cc5471993adbf16b706aafc995/merged" = + # { device = "overlay"; + # fsType = "overlay"; + # }; + # + # fileSystems."/var/lib/docker/overlay2/45ab55ae434047649d24b9b3428c573b5febdce23db983c41902fb866b995af2/merged" = + # { device = "overlay"; + # fsType = "overlay"; + # }; + # + # fileSystems."/var/lib/docker/overlay2/6eff329e22afd55e776e5cae64cec9a159b6edc533fdae492e6e84dbbad41b0b/merged" = + # { device = "overlay"; + # fsType = "overlay"; + # }; + # + # fileSystems."/var/lib/docker/overlay2/9366547c67f8711c7def21f79aade5473dac16efebc449d22fdeaf4efaf9b32c/merged" = + # { device = "overlay"; + # fsType = "overlay"; + # }; + + swapDevices = []; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; +} diff --git a/modules/hosts/server02/server02Configuration.nix b/modules/hosts/server02/server02Configuration.nix new file mode 100644 index 0000000..317e852 --- /dev/null +++ b/modules/hosts/server02/server02Configuration.nix @@ -0,0 +1,8 @@ +{...}: { + flake.nixosModules.server02Configuration = {...}: { + networking = { + hostName = "mobile02"; + }; + imports = [./hardware-configuration.nix]; + }; +} diff --git a/modules/parts.nix b/modules/parts.nix new file mode 100644 index 0000000..657e3ca --- /dev/null +++ b/modules/parts.nix @@ -0,0 +1,10 @@ +{ + config = { + systems = [ + "x86_64-linux" + "x86_64-darwin" + "aarch64-linux" + "aarch64-darwin" + ]; + }; +} diff --git a/modules/system/core/bootloader.nix b/modules/system/core/bootloader.nix new file mode 100644 index 0000000..ddf4b21 --- /dev/null +++ b/modules/system/core/bootloader.nix @@ -0,0 +1,24 @@ +{ + self, + inputs, + ... +}: { + flake.nixosModules.bootloader = { + pkgs, + lib, + ... + }: { + boot = { + loader = { + timeout = 2; + efi = { + canTouchEfiVariables = true; + }; + systemd-boot = { + enable = true; + }; + }; + kernelPackages = pkgs.linuxPackages_latest; + }; + }; +} diff --git a/modules/system/core/default.nix b/modules/system/core/default.nix new file mode 100644 index 0000000..004e574 --- /dev/null +++ b/modules/system/core/default.nix @@ -0,0 +1,39 @@ +{ + self, + inputs, + ... +}: { + flake.nixosModules.core = { + pkgs, + lib, + ... + }: let + modules = with self.nixosModules; [ + user + bootloader + nix + locale + ]; + in { + imports = + [ + # /etc/nixos/hardware-configuration.nix + ] + ++ modules; + services = { + openssh.enable = true; + avahi.enable = true; + }; + environment.systemPackages = with pkgs; [ + vim + unzip + p7zip-rar + usbutils + lsof + python315 + curlWithGnuTls + wget + ]; + system.stateVersion = "26.02"; + }; +} diff --git a/modules/system/core/locale.nix b/modules/system/core/locale.nix new file mode 100644 index 0000000..df67371 --- /dev/null +++ b/modules/system/core/locale.nix @@ -0,0 +1,32 @@ +{ + self, + inputs, + ... +}: { + flake.nixosModules.locale = { + pkgs, + lib, + ... + }: { + time.timeZone = "Europe/London"; + i18n = { + defaultLocale = "en_GB.UTF-8"; + extraLocaleSettings = { + LC_ADDRESS = "en_GB.UTF-8"; + LC_IDENTIFICATION = "en_GB.UTF-8"; + LC_MEASUREMENT = "en_GB.UTF-8"; + LC_MONETARY = "en_GB.UTF-8"; + LC_NAME = "en_GB.UTF-8"; + LC_NUMERIC = "en_GB.UTF-8"; + LC_PAPER = "en_GB.UTF-8"; + LC_TELEPHONE = "en_GB.UTF-8"; + LC_TIME = "en_GB.UTF-8"; + }; + }; + services.xserver.xkb = { + layout = "gb"; + variant = ""; + }; + console.keyMap = "uk"; + }; +} diff --git a/modules/system/core/nix-settings.nix b/modules/system/core/nix-settings.nix new file mode 100644 index 0000000..008c5cc --- /dev/null +++ b/modules/system/core/nix-settings.nix @@ -0,0 +1,52 @@ +{inputs, ...}: { + perSystem = {system, ...}: { + _module.args.unfreePkgs = import inputs.nixpkgs { + inherit system; + config.allowUnfree = true; + }; + }; + flake.nixosModules.nix = {...}: { + nix = { + registry = { + voidarc = { + from = { + id = "voidarc"; + type = "indirect"; + }; + to = { + type = "git"; + url = "https://git.voidarc.co.uk/voidarc/flakes.git"; + }; + }; + }; + settings = { + cores = 2; + trusted-users = ["root"]; + download-buffer-size = 524288000; + experimental-features = [ + "nix-command" + "flakes" + ]; + }; + nixPath = ["nixpkgs=${inputs.nixpkgs}"]; + optimise.automatic = true; + gc = { + automatic = true; + dates = "daily"; + options = "--delete-older-than 5d"; + }; + }; + nixpkgs = { + config = { + allowUnfree = true; + packageOverrides = pkgs: { + unstable = import inputs.nixpkgs-unstable { + config = { + allowUnfree = true; + }; + }; + }; + }; + }; + }; +} diff --git a/modules/system/core/user.nix b/modules/system/core/user.nix new file mode 100644 index 0000000..0cfe012 --- /dev/null +++ b/modules/system/core/user.nix @@ -0,0 +1,24 @@ +{ + self, + inputs, + ... +}: { + flake.nixosModules.user = { + pkgs, + lib, + inputs', + ... + }: let + in { + users.users.user01 = { + isNormalUser = true; + initialPassword = "password"; + shell = inputs'.nix-config.packages.zsh; + description = "user01"; + extraGroups = [ + "root" + "wheel" + ]; + }; + }; +}