diff --git a/flake.lock b/flake.lock index 8c9fb05..43e5c2f 100644 --- a/flake.lock +++ b/flake.lock @@ -21,17 +21,16 @@ "base16-fish": { "flake": false, "locked": { - "lastModified": 1754405784, - "narHash": "sha256-l9xHIy+85FN+bEo6yquq2IjD1rSg9fjfjpyGP1W8YXo=", + "lastModified": 1622559957, + "narHash": "sha256-PebymhVYbL8trDVVXxCvZgc0S5VxI7I1Hv4RMSquTpA=", "owner": "tomyun", "repo": "base16-fish", - "rev": "23ae20a0093dca0d7b39d76ba2401af0ccf9c561", + "rev": "2f6dd973a9075dabccd26f1cded09508180bf5fe", "type": "github" }, "original": { "owner": "tomyun", "repo": "base16-fish", - "rev": "23ae20a0093dca0d7b39d76ba2401af0ccf9c561", "type": "github" } }, @@ -79,11 +78,11 @@ ] }, "locked": { - "lastModified": 1760299432, - "narHash": "sha256-OEsLiZvC+WOssGIzUx0miuKsODlp7IGax8XVhNCw8wY=", + "lastModified": 1744387566, + "narHash": "sha256-O39zTv7LdRgr4Hw38d+eQG2LYpP75rw2XKqTGV5qzgs=", "owner": "HeitorAugustoLN", "repo": "cosmic-manager", - "rev": "a61b25313a83d32de4769fbb4026d93bde00b256", + "rev": "52d3fdd080a9dd4639948687682a68282fbf0314", "type": "github" }, "original": { @@ -116,11 +115,11 @@ ] }, "locked": { - "lastModified": 1759362264, - "narHash": "sha256-wfG0S7pltlYyZTM+qqlhJ7GMw2fTF4mLKCIVhLii/4M=", + "lastModified": 1738453229, + "narHash": "sha256-7H9XgNiGLKN1G1CgRh0vUL4AheZSYzPm+zmZ7vxbJdo=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "758cf7296bee11f1706a574c77d072b8a7baa881", + "rev": "32ea77a06711b758da0ad9bd6a844c5740a87abd", "type": "github" }, "original": { @@ -137,11 +136,11 @@ ] }, "locked": { - "lastModified": 1759362264, - "narHash": "sha256-wfG0S7pltlYyZTM+qqlhJ7GMw2fTF4mLKCIVhLii/4M=", + "lastModified": 1754091436, + "narHash": "sha256-XKqDMN1/Qj1DKivQvscI4vmHfDfvYR2pfuFOJiCeewM=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "758cf7296bee11f1706a574c77d072b8a7baa881", + "rev": "67df8c627c2c39c41dbec76a1f201929929ab0bd", "type": "github" }, "original": { @@ -229,11 +228,11 @@ ] }, "locked": { - "lastModified": 1758463745, - "narHash": "sha256-uhzsV0Q0I9j2y/rfweWeGif5AWe0MGrgZ/3TjpDYdGA=", + "lastModified": 1753592768, + "narHash": "sha256-oV695RvbAE4+R9pcsT9shmp6zE/+IZe6evHWX63f2Qg=", "owner": "nix-community", "repo": "home-manager", - "rev": "3b955f5f0a942f9f60cdc9cacb7844335d0f21c3", + "rev": "fc3add429f21450359369af74c2375cb34a2d204", "type": "github" }, "original": { @@ -257,16 +256,16 @@ ] }, "locked": { - "lastModified": 1754860581, - "narHash": "sha256-EM0IE63OHxXCOpDHXaTyHIOk2cNvMCGPqLt/IdtVxgk=", + "lastModified": 1748294338, + "narHash": "sha256-FVO01jdmUNArzBS7NmaktLdGA5qA3lUMJ4B7a05Iynw=", "owner": "NuschtOS", "repo": "ixx", - "rev": "babfe85a876162c4acc9ab6fb4483df88fa1f281", + "rev": "cc5f390f7caf265461d4aab37e98d2292ebbdb85", "type": "github" }, "original": { "owner": "NuschtOS", - "ref": "v0.1.1", + "ref": "v0.0.8", "repo": "ixx", "type": "github" } @@ -276,11 +275,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1756852730, - "narHash": "sha256-qPere4RBHoZxiEGl8zXU8gjroZg4gkYGEwaAbKmL4vE=", + "lastModified": 1741303672, + "narHash": "sha256-eRKbKccBu3PK/oJpmUuLo+0v45d0SEjosE8tVsHbpeA=", "owner": "musnix", "repo": "musnix", - "rev": "7ccc92050e43dc92309396c6f2fe1f542214a242", + "rev": "d56a15f30329f304151e4e05fa82264d127da934", "type": "github" }, "original": { @@ -301,11 +300,11 @@ "xwayland-satellite-unstable": "xwayland-satellite-unstable" }, "locked": { - "lastModified": 1761187190, - "narHash": "sha256-5ln16iOeWpEX5MO7M3jzFEBNFE42gpFsCvSvPjtF6tQ=", + "lastModified": 1754744872, + "narHash": "sha256-rcMHMs+dFWaDXev092gfxTfxHEWcUY/6SRV+cseNevQ=", "owner": "sodiboo", "repo": "niri-flake", - "rev": "77a07f5d3b775fba67550c38122ebb8d3ee3ba1c", + "rev": "346fc31bcc4d2dbcc3e8ce8dbb622e4255ff54b7", "type": "github" }, "original": { @@ -317,16 +316,16 @@ "niri-stable": { "flake": false, "locked": { - "lastModified": 1756556321, - "narHash": "sha256-RLD89dfjN0RVO86C/Mot0T7aduCygPGaYbog566F0Qo=", + "lastModified": 1748151941, + "narHash": "sha256-z4viQZLgC2bIJ3VrzQnR+q2F3gAOEQpU1H5xHtX/2fs=", "owner": "YaLTeR", "repo": "niri", - "rev": "01be0e65f4eb91a9cd624ac0b76aaeab765c7294", + "rev": "8ba57fcf25d2fc9565131684a839d58703f1dae7", "type": "github" }, "original": { "owner": "YaLTeR", - "ref": "v25.08", + "ref": "v25.05.1", "repo": "niri", "type": "github" } @@ -334,11 +333,11 @@ "niri-unstable": { "flake": false, "locked": { - "lastModified": 1760940149, - "narHash": "sha256-KbM47vD6E0cx+v4jYQZ8mD5N186AKm2CQlyh34TW58U=", + "lastModified": 1754742008, + "narHash": "sha256-Tp0FG7VpLudVEC622d91z2hbdfPLCXxw0Nv43iNN4O0=", "owner": "YaLTeR", "repo": "niri", - "rev": "b3245b81a6ed8edfaf5388a74d2e0a23c24941e5", + "rev": "67361f88fd01974ebee4cf80f0e29c87d805cc39", "type": "github" }, "original": { @@ -349,11 +348,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1756542300, - "narHash": "sha256-tlOn88coG5fzdyqz6R93SQL5Gpq+m/DsWpekNFhqPQk=", + "lastModified": 1740695751, + "narHash": "sha256-D+R+kFxy1KsheiIzkkx/6L63wEHBYX21OIwlFV8JvDs=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "d7600c775f877cd87b4f5a831c28aa94137377aa", + "rev": "6313551cd05425cd5b3e63fe47dbc324eabb15e4", "type": "github" }, "original": { @@ -365,11 +364,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1761016216, - "narHash": "sha256-G/iC4t/9j/52i/nm+0/4ybBmAF4hzR8CNHC75qEhjHo=", + "lastModified": 1754689972, + "narHash": "sha256-eogqv6FqZXHgqrbZzHnq43GalnRbLTkbBbFtEfm1RSc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "481cf557888e05d3128a76f14c76397b7d7cc869", + "rev": "fc756aa6f5d3e2e5666efcf865d190701fef150a", "type": "github" }, "original": { @@ -381,11 +380,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1761016216, - "narHash": "sha256-G/iC4t/9j/52i/nm+0/4ybBmAF4hzR8CNHC75qEhjHo=", + "lastModified": 1754689972, + "narHash": "sha256-eogqv6FqZXHgqrbZzHnq43GalnRbLTkbBbFtEfm1RSc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "481cf557888e05d3128a76f14c76397b7d7cc869", + "rev": "fc756aa6f5d3e2e5666efcf865d190701fef150a", "type": "github" }, "original": { @@ -396,11 +395,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1761114652, - "narHash": "sha256-f/QCJM/YhrV/lavyCVz8iU3rlZun6d+dAiC3H+CDle4=", + "lastModified": 1754214453, + "narHash": "sha256-Q/I2xJn/j1wpkGhWkQnm20nShYnG7TI99foDBpXm1SY=", "owner": "nixos", "repo": "nixpkgs", - "rev": "01f116e4df6a15f4ccdffb1bcd41096869fb385c", + "rev": "5b09dc45f24cf32316283e62aec81ffee3c3e376", "type": "github" }, "original": { @@ -420,11 +419,11 @@ "systems": "systems_2" }, "locked": { - "lastModified": 1760795571, - "narHash": "sha256-gi+tWWAknKuTNso3yMeKsT9nj0jx+tuYF7g7nmLUWT8=", + "lastModified": 1754262585, + "narHash": "sha256-Yz5dJ0VzGRzSRHdHldsWQbuFYmtP3NWNreCvPfCi9CI=", "owner": "nix-community", "repo": "nixvim", - "rev": "6c945865ba5de87fa2d0dd8a0e66ca572ddf9043", + "rev": "ab1b5962e1ca90b42de47e1172e0d24ca80e6256", "type": "github" }, "original": { @@ -470,11 +469,11 @@ ] }, "locked": { - "lastModified": 1760652422, - "narHash": "sha256-C88Pgz38QIl9JxQceexqL2G7sw9vodHWx1Uaq+NRJrw=", + "lastModified": 1753771532, + "narHash": "sha256-Pmpke0JtLRzgdlwDC5a+aiLVZ11JPUO5Bcqkj0nHE/k=", "owner": "NuschtOS", "repo": "search", - "rev": "3ebeebe8b6a49dfb11f771f761e0310f7c48d726", + "rev": "2a65adaf2c0c428efb0f4a2bc406aab466e96a06", "type": "github" }, "original": { @@ -503,11 +502,11 @@ ] }, "locked": { - "lastModified": 1760998189, - "narHash": "sha256-ee2e1/AeGL5X8oy/HXsZQvZnae6XfEVdstGopKucYLY=", + "lastModified": 1754328224, + "narHash": "sha256-glPK8DF329/dXtosV7YSzRlF4n35WDjaVwdOMEoEXHA=", "owner": "Mic92", "repo": "sops-nix", - "rev": "5a7d18b5c55642df5c432aadb757140edfeb70b3", + "rev": "49021900e69812ba7ddb9e40f9170218a7eca9f4", "type": "github" }, "original": { @@ -537,11 +536,11 @@ "tinted-zed": "tinted-zed" }, "locked": { - "lastModified": 1760478648, - "narHash": "sha256-Y4l+Y3zUvqIDbyLrtOrzNvp1o50Fp9TYK+iwtwweFU4=", + "lastModified": 1754599117, + "narHash": "sha256-AzAYdZlat002vCjCKWdFpGi2xUaiOU4DtIPnv1nomD8=", "owner": "danth", "repo": "stylix", - "rev": "1ec254101285777db13922303cc47ded06e10bb3", + "rev": "312dec38b2231b21f36903d1bdce96daa11548ff", "type": "github" }, "original": { @@ -702,16 +701,16 @@ "xwayland-satellite-stable": { "flake": false, "locked": { - "lastModified": 1755491097, - "narHash": "sha256-m+9tUfsmBeF2Gn4HWa6vSITZ4Gz1eA1F5Kh62B0N4oE=", + "lastModified": 1748488455, + "narHash": "sha256-IiLr1alzKFIy5tGGpDlabQbe6LV1c9ABvkH6T5WmyRI=", "owner": "Supreeeme", "repo": "xwayland-satellite", - "rev": "388d291e82ffbc73be18169d39470f340707edaa", + "rev": "3ba30b149f9eb2bbf42cf4758d2158ca8cceef73", "type": "github" }, "original": { "owner": "Supreeeme", - "ref": "v0.7", + "ref": "v0.6", "repo": "xwayland-satellite", "type": "github" } @@ -719,11 +718,11 @@ "xwayland-satellite-unstable": { "flake": false, "locked": { - "lastModified": 1761173223, - "narHash": "sha256-FumZh+fPRaKXkl9Y1uTh5KV7Io/AyOZso+UkqLhLArs=", + "lastModified": 1754533920, + "narHash": "sha256-fCZ68Yud1sUCq6UNXj0SDyiBgVA8gJUE+14ZFGsFJG8=", "owner": "Supreeeme", "repo": "xwayland-satellite", - "rev": "bf745144acda1343934e9a094cf9458a54d57889", + "rev": "e0d1dad25a158551ab58547b2ece4b7d5a19929c", "type": "github" }, "original": { @@ -737,11 +736,11 @@ "nixpkgs": "nixpkgs_3" }, "locked": { - "lastModified": 1761192367, - "narHash": "sha256-HdAtNWms1rrswlfuX5NUR9RYCMLUJHEzF986hQ0tUCw=", + "lastModified": 1754540523, + "narHash": "sha256-Wgv2qVckt8q11/xErY7hYdLAPcoOnZ0BkMLqyXegCzQ=", "owner": "youwen5", "repo": "zen-browser-flake", - "rev": "1ce32754f78d1d7d6bf9cb44a48a06dac8bb6785", + "rev": "451454de40a4433174153e823994fe2ecd3c869e", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index fcce8b5..1c1bbae 100644 --- a/flake.nix +++ b/flake.nix @@ -42,6 +42,8 @@ pkgs = import inputs.nixpkgs {inherit system;}; user = "tristan"; userFullname = "Tristan Beedell"; + # auto-login = import ./nixos/programs/auto-login.nix; + mkConf = import ./lib/mkconf.nix {inherit inputs system user userFullname;}; in { formatter.${system} = pkgs.alejandra; @@ -49,6 +51,7 @@ zenix = mkConf { nixos-modules = [ ./hardware/zenix.nix + ./nixos/programs/cosmic.nix ./nixos/programs/niri.nix ./nixos/programs/gamer.nix ./nixos/programs/personal.nix @@ -59,6 +62,7 @@ ./home/programs/graphical.nix ./home/programs/gamer.nix ./home/programs/personal/. + ./home/desktop/cosmic/. ]; }; @@ -67,11 +71,13 @@ ./hardware/framework-13.nix ./nixos/workstation.nix ./nixos/modules/work.nix + ./nixos/programs/cosmic.nix ./nixos/programs/niri.nix ]; home-modules = [ ./home/programs/work.nix ./home/programs/graphical.nix + ./home/desktop/cosmic/. ]; }; diff --git a/hardware/framework-13.nix b/hardware/framework-13.nix index dd70137..120e188 100644 --- a/hardware/framework-13.nix +++ b/hardware/framework-13.nix @@ -57,8 +57,6 @@ networking.hostName = "framework-13"; - services.hardware.bolt.enable = true; - system.stateVersion = "24.11"; # do not change home-manager.users.${config.user}.imports = [ { @@ -79,41 +77,6 @@ } ''; }; - - programs.niri.settings.outputs = { - # Laptop display - "eDP-1" = { - mode = { - width = 2256; - height = 1504; - refresh = 59.999; - }; - }; - "HP Inc. HP 24x 1CR9500W9Q" = { - mode = { - width = 1920; - height = 1080; - refresh = 144.001; - }; - scale = 1.0; - position = { - x = 2256; - y = 0; - }; - }; - "Ancor Communications Inc ASUS VS228 F3LMTF154813" = { - mode = { - width = 1920; - height = 1080; - refresh = 60.0; - }; - scale = 1.0; - position = { - x = 2256 + 1920; - y = 0; - }; - }; - }; } ]; diff --git a/hardware/zenix.nix b/hardware/zenix.nix index daba723..7408fa1 100644 --- a/hardware/zenix.nix +++ b/hardware/zenix.nix @@ -1,9 +1,12 @@ { + config, lib, + pkgs, modulesPath, - user, ... -}: { +}: let + user = config.user; +in { imports = [ (modulesPath + "/installer/scan/not-detected.nix") ./ddc.nix @@ -28,6 +31,10 @@ options = ["noatime"]; }; + # boot.initrd.luks.devices."usbkey" = { + # device = "/dev/disk/by-label/usbkey1"; + # }; + boot.initrd.luks.devices."cryptroot" = { device = "/dev/disk/by-uuid/cc0617df-8cbf-4618-abbc-df64c96de151"; }; @@ -66,14 +73,6 @@ hardware.cpu.amd.updateMicrocode = true; hardware.cpu.x86.msr.enable = true; - hardware.amdgpu = { - opencl.enable = true; - amdvlk = { - enable = true; - support32Bit.enable = true; - }; - }; - networking.hostName = "zenix"; services.openssh.enable = true; @@ -85,26 +84,6 @@ home-manager.users.${user}.imports = [ { home.stateVersion = "22.05"; - programs.niri.settings = { - outputs."HP Inc. HP 24x 1CR9500W9Q" = { - mode = { - width = 1920; - height = 1080; - refresh = 143.855; - }; - variable-refresh-rate = true; - scale = 1.0; - }; - outputs."HDMI-A-1" = { - mode = { - width = 3840; - height = 2160; - refresh = 120.0; - }; - variable-refresh-rate = true; - scale = 2.5; - }; - }; } ]; } diff --git a/home/default.nix b/home/default.nix index 824d722..3c46f22 100644 --- a/home/default.nix +++ b/home/default.nix @@ -41,8 +41,6 @@ programs.yazi.enable = true; - programs.bat.enable = true; - programs.zoxide.enable = true; programs.rbw = { diff --git a/home/desktop/niri/default.nix b/home/desktop/niri/default.nix index 40431d5..05865a5 100644 --- a/home/desktop/niri/default.nix +++ b/home/desktop/niri/default.nix @@ -11,7 +11,6 @@ ]; programs.waybar.settings.mainBar.modules-left = ["niri/workspaces" "niri/window"]; - programs.waybar.settings.mainBar.modules-right = lib.mkBefore ["niri/language"]; programs.fuzzel = { enable = true; @@ -33,9 +32,9 @@ programs.niri = { settings = { input.keyboard = { - xkb.layout = "us,gb"; - xkb.variant = "dvorak,"; - xkb.options = "caps:escape,esperanto:qwerty,lv3:ralt_switch"; + xkb.layout = "us"; + xkb.variant = "dvorak"; + xkb.options = "caps:escape"; }; input.mouse = { accel-profile = "flat"; @@ -47,9 +46,9 @@ dwt = true; # disable when typing }; prefer-no-csd = true; - xwayland-satellite = { - path = lib.getExe pkgs.xwayland-satellite; - }; + spawn-at-startup = [ + {command = [(lib.getExe pkgs.xwayland-satellite)];} + ]; layout = { preset-column-widths = [ {proportion = 1.0;} @@ -58,6 +57,25 @@ }; environment = { NIXOS_OZONE_WL = "1"; + DISPLAY = ":1"; + }; + outputs."DP-3" = { + mode = { + width = 1920; + height = 1080; + refresh = 143.855; + }; + variable-refresh-rate = true; + scale = 1.0; + }; + outputs."HDMI-A-1" = { + mode = { + width = 3840; + height = 2160; + refresh = 120.0; + }; + variable-refresh-rate = true; + scale = 2.5; }; binds = with config.lib.niri.actions; { "Mod+Return".action.spawn = [(lib.getExe config.programs.terminal)]; @@ -110,9 +128,8 @@ "Mod+M".action = switch-preset-column-width; "Mod+G".action = toggle-window-floating; - "Mod+Shift+Ctrl+Alt+Space".action = switch-layout "next"; - "Print".action.screenshot = []; + "Print".action = screenshot; "XF86AudioRaiseVolume".action.spawn = ["raise-volume"]; "XF86AudioLowerVolume".action.spawn = ["lower-volume"]; diff --git a/home/desktop/utils/waybar.nix b/home/desktop/utils/waybar.nix index 2c3d23c..72756b4 100644 --- a/home/desktop/utils/waybar.nix +++ b/home/desktop/utils/waybar.nix @@ -7,7 +7,7 @@ layer = "bottom"; position = "top"; height = 36; - modules-right = ["mpris" "power-profiles-daemon" "cpu" "idle_inhibitor" "wireplumber" "clock" "tray" "battery"]; + modules-right = ["mpris" "power-profiles-daemon" "cpu" "idle_inhibitor" "pulseaudio" "clock" "tray" "battery"]; "cpu" = { "format" = "{icon}"; "format-icons" = ["▁" "▂" "▃" "▄" "▅" "▆" "▇" "█"]; @@ -35,19 +35,24 @@ tooltip-format-activated = "system sleep inhibited"; tooltip-format-deactivated = "system will sleep when idle"; }; - wireplumber = { - format-muted = "🔇"; - format = "{icon} {volume}%"; - format-icons = ["🔈" "🔉" "🔊"]; - on-click = "pwvucontrol"; + pulseaudio = { + format-muted = "🔇 {volume}"; + format = "{icon} {volume}"; + format-icons.default = ["🔈" "🔉" "🔊"]; + on-click = "${pkgs.pavucontrol}/bin/pavucontrol"; }; mpris = { - format = "▶️ {title}"; - format-paused = "⏸️ {title}"; + format = "{player_icon} {title}"; + format-paused = "⏸️ {player_icon} {title}"; + player-icons = { + default = "▶️"; + mpd = "🎵"; + kdeconnect = "☎️"; + }; }; battery = { format = "{icon} {capacity}%"; - format-icons = ["🪫" "🔋" "🔋"]; + format-icons = ["🤏" "🪫" "🔋" "🔋"]; format-charging = "🔌 {capacity}%"; states = { warning = 30; diff --git a/home/modules/email.nix b/home/modules/email.nix index ccd0249..6b491c5 100644 --- a/home/modules/email.nix +++ b/home/modules/email.nix @@ -71,6 +71,7 @@ in { sidebar.enable = true; }; programs.mbsync.enable = cfg.terminal; + services.mbsync.enable = cfg.terminal; programs.aerc = { enable = cfg.terminal; diff --git a/home/programs/gamer.nix b/home/programs/gamer.nix index e58aa94..cbfeba7 100644 --- a/home/programs/gamer.nix +++ b/home/programs/gamer.nix @@ -8,6 +8,7 @@ # Helpers heroic + lutris gamescope gamemode mangohud diff --git a/home/programs/graphical.nix b/home/programs/graphical.nix index 9cb3e2c..df550f1 100644 --- a/home/programs/graphical.nix +++ b/home/programs/graphical.nix @@ -25,6 +25,7 @@ youtube-music transmission_4-gtk feishin + grayjay # other element-desktop diff --git a/home/programs/work.nix b/home/programs/work.nix index 2f1b3c1..65a96ff 100644 --- a/home/programs/work.nix +++ b/home/programs/work.nix @@ -1,7 +1,6 @@ { config, pkgs, - lib, ... }: let modifier = config.windowManager.modifierKey; @@ -44,7 +43,7 @@ in { home.sessionVariables = { CYPRESS_INSTALL_BINARY = 0; CYPRESS_RUN_BINARY = "${pkgs.cypress}/bin/Cypress"; - MONGOMS_SYSTEM_BINARY = lib.getExe' pkgs.mongodb-7_0 "mongod"; + MONGOMS_SYSTEM_BINARY = "${pkgs.callPackage ../../pkgs/mongodb.nix pkgs}/bin/mongod"; }; gtk.gtk3.bookmarks = [ diff --git a/home/workstation.nix b/home/workstation.nix index f4e68c0..2e9b0c2 100644 --- a/home/workstation.nix +++ b/home/workstation.nix @@ -28,6 +28,7 @@ playerctl quickemu devenv + bottles ]; services.udiskie = { diff --git a/nixos/default.nix b/nixos/default.nix index 7b805cb..6f108e8 100644 --- a/nixos/default.nix +++ b/nixos/default.nix @@ -1,11 +1,13 @@ # https://search.nixos.org/options { inputs, + config, pkgs, lib, - user, ... -}: { +}: let + user = config.user; +in { nix = { settings = { experimental-features = ["nix-command" "flakes" "pipe-operators"]; @@ -96,7 +98,6 @@ nix-tree comma jq - bat ]; boot.kernel.sysctl = { diff --git a/nixos/modules/work.nix b/nixos/modules/work.nix index 94e36ff..cd358c3 100644 --- a/nixos/modules/work.nix +++ b/nixos/modules/work.nix @@ -12,7 +12,6 @@ in { "steam-run" "postman" "drawio" # the creator had a hissyfit over a negative review: https://github.com/jgraph/drawio/discussions/4623 - "mongodb" ]; nixpkgs.config.permittedInsecurePackages = [ diff --git a/nixos/programs/auto-login.nix b/nixos/programs/auto-login.nix new file mode 100644 index 0000000..9c93810 --- /dev/null +++ b/nixos/programs/auto-login.nix @@ -0,0 +1,10 @@ +command: {user, ...}: { + services.greetd = { + enable = true; + settings = { + default_session = { + inherit command user; + }; + }; + }; +} diff --git a/nixos/programs/gamer.nix b/nixos/programs/gamer.nix index e1ddbec..7356755 100644 --- a/nixos/programs/gamer.nix +++ b/nixos/programs/gamer.nix @@ -12,13 +12,10 @@ dedicatedServer.openFirewall = true; gamescopeSession = { enable = true; - args = ["-r" "120" "-W" "3840" "-H" "2160" "-O" "HDMI-A-1" "--rt" "--hdr-enabled" "--adaptive-sync" "--xwayland-count" "2"]; + args = ["-r" "120" "-W" "3840" "-H" "2160" "-O" "HDMI-A-1" "--rt" "--hdr-enabled" "--adaptive-sync"]; env = { - PROTON_ENABLE_WAYLAND = "1"; - PROTON_ENABLE_HDR = "1"; ENABLE_HDR_WSI = "1"; DXVK_HDR = "1"; - STEAM_MULTIPLE_XWAYLANDS = "1"; }; }; }; diff --git a/nixos/services/grafana.nix b/nixos/services/grafana.nix index 9c8497d..c6790ba 100644 --- a/nixos/services/grafana.nix +++ b/nixos/services/grafana.nix @@ -1,27 +1,15 @@ -{ - config, - lib, - pkgs, - ... -}: let +{config, lib, pkgs, ...}: let cfg = config.services.grafana; secrets = config.sops.secrets; - mkDashboards = dashboards: - pkgs.symlinkJoin { - name = "dashboards"; - paths = map mkDashboard dashboards; - }; - mkDashboard = { - name, - url, - sha256, - patch ? lib.id, - }: - pkgs.writeTextFile { - inherit name; - text = patch (builtins.readFile (builtins.fetchurl {inherit url sha256;})); - destination = "/dash/${name}.json"; - }; + mkDashboards = dashboards: pkgs.symlinkJoin { + name = "dashboards"; + paths = map mkDashboard dashboards; + }; + mkDashboard = {name, url, sha256, patch ? lib.id}: pkgs.writeTextFile { + inherit name; + text = patch (builtins.readFile ( builtins.fetchurl {inherit url sha256;} )); + destination = "/dash/${name}.json"; + }; in { sops.secrets."grafana/oidc_client_secret" = { owner = "grafana"; @@ -46,26 +34,24 @@ in { role_attribute_path = "contains(groups[*], 'Grafana Admins') && 'Admin' || contains(groups[*], 'Grafana Editors') && 'Editor' || 'Viewer'"; }; }; - provision.dashboards.settings.providers = [ + provision.dashboards.settings.providers = [{ + name = "Node Exporter"; + type = "file"; + options.path = mkDashboards [ { - name = "Node Exporter"; - type = "file"; - options.path = mkDashboards [ - { - name = "node-exporter"; - url = "https://grafana.com/api/dashboards/1860/revisions/37/download"; - sha256 = "sha256:0qza4j8lywrj08bqbww52dgh2p2b9rkhq5p313g72i57lrlkacfl"; - # https://github.com/rfmoz/grafana-dashboards/issues/169 - patch = builtins.replaceStrings ["$__rate_interval"] ["$__range"]; - } - { - name = "synapse"; - url = "https://raw.githubusercontent.com/element-hq/synapse/refs/heads/master/contrib/grafana/synapse.json"; - sha256 = "sha256:0yzj1i4zbjy9cms75ip6ad8qyjgv9kka42gxsbzyzr2syznsmqw0"; - } - ]; + name = "node-exporter"; + url = "https://grafana.com/api/dashboards/1860/revisions/37/download"; + sha256 = "sha256:0qza4j8lywrj08bqbww52dgh2p2b9rkhq5p313g72i57lrlkacfl"; + # https://github.com/rfmoz/grafana-dashboards/issues/169 + patch = builtins.replaceStrings ["$__rate_interval"] ["$__range"]; } - ]; + { + name = "synapse"; + url = "https://raw.githubusercontent.com/element-hq/synapse/refs/heads/master/contrib/grafana/synapse.json"; + sha256 = "sha256:16fl81sx1by0wldw4vda0zr1pvbq1dpih1fikzwlvmk63mpc80kb"; + } + ]; + }]; }; services.nginx.virtualHosts = { ${cfg.settings.server.domain} = { diff --git a/nixos/services/monero.nix b/nixos/services/monero.nix index 6fdf924..c502f0d 100644 --- a/nixos/services/monero.nix +++ b/nixos/services/monero.nix @@ -8,13 +8,9 @@ extraConfig = '' prune-blockchain=1 confirm-external-bind=1 - out-peers=8 - in-peers=16 + out-peers=64 # This will enable much faster sync and tx awareness; the default 8 is suboptimal nowadays + in-peers=1024 # The default is unlimited; we prefer to put a cap on this zmq-pub=tcp://localhost:18083 - add-priority-node=p2pmd.xmrvsbeast.com:18080 - add-priority-node=nodes.hashvault.pro:18080 - enable-dns-blocklist=1 - enforce-dns-checkpointing=1 ''; }; } diff --git a/nixos/services/musnix.nix b/nixos/services/musnix.nix index c548544..eeff1e2 100644 --- a/nixos/services/musnix.nix +++ b/nixos/services/musnix.nix @@ -25,22 +25,5 @@ carla drumgizmo distrho-ports - surge - surge-XT - guitarix - gxplugins-lv2 - airwindows-lv2 - mod-distortion - mod-arpeggiator-lv2 - aether-lv2 - neural-amp-modeler-lv2 - bchoppr - bshapr - chow-tape-model - chow-kick - chow-phaser - chow-centaur - quadrafuzz - fire ]; } diff --git a/nixos/workstation.nix b/nixos/workstation.nix index 2ec6432..3667716 100644 --- a/nixos/workstation.nix +++ b/nixos/workstation.nix @@ -3,7 +3,6 @@ pkgs, lib, config, - user, ... }: { imports = [ @@ -22,11 +21,12 @@ hardware.bluetooth.enable = true; services.blueman.enable = true; - services.power-profiles-daemon.enable = true; services.gnome.gnome-keyring.enable = true; - services.displayManager.cosmic-greeter.enable = true; + programs.kdeconnect.enable = true; + + virtualisation.waydroid.enable = true; networking.stevenblack = { enable = lib.mkDefault true; @@ -76,11 +76,18 @@ }; qt.enable = true; - fonts.packages = with pkgs; [ - nerd-fonts.symbols-only + nixpkgs.overlays = [ + (final: prev: { + interalia = prev.callPackage ../pkgs/interalia.nix {}; + }) ]; - home-manager.users.${user}.imports = [ + fonts.packages = with pkgs; [ + nerd-fonts.symbols-only + interalia + ]; + + home-manager.users.${config.user}.imports = [ ../home/workstation.nix ];