diff --git a/flake.lock b/flake.lock index 43e5c2f..8c9fb05 100644 --- a/flake.lock +++ b/flake.lock @@ -21,16 +21,17 @@ "base16-fish": { "flake": false, "locked": { - "lastModified": 1622559957, - "narHash": "sha256-PebymhVYbL8trDVVXxCvZgc0S5VxI7I1Hv4RMSquTpA=", + "lastModified": 1754405784, + "narHash": "sha256-l9xHIy+85FN+bEo6yquq2IjD1rSg9fjfjpyGP1W8YXo=", "owner": "tomyun", "repo": "base16-fish", - "rev": "2f6dd973a9075dabccd26f1cded09508180bf5fe", + "rev": "23ae20a0093dca0d7b39d76ba2401af0ccf9c561", "type": "github" }, "original": { "owner": "tomyun", "repo": "base16-fish", + "rev": "23ae20a0093dca0d7b39d76ba2401af0ccf9c561", "type": "github" } }, @@ -78,11 +79,11 @@ ] }, "locked": { - "lastModified": 1744387566, - "narHash": "sha256-O39zTv7LdRgr4Hw38d+eQG2LYpP75rw2XKqTGV5qzgs=", + "lastModified": 1760299432, + "narHash": "sha256-OEsLiZvC+WOssGIzUx0miuKsODlp7IGax8XVhNCw8wY=", "owner": "HeitorAugustoLN", "repo": "cosmic-manager", - "rev": "52d3fdd080a9dd4639948687682a68282fbf0314", + "rev": "a61b25313a83d32de4769fbb4026d93bde00b256", "type": "github" }, "original": { @@ -115,11 +116,11 @@ ] }, "locked": { - "lastModified": 1738453229, - "narHash": "sha256-7H9XgNiGLKN1G1CgRh0vUL4AheZSYzPm+zmZ7vxbJdo=", + "lastModified": 1759362264, + "narHash": "sha256-wfG0S7pltlYyZTM+qqlhJ7GMw2fTF4mLKCIVhLii/4M=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "32ea77a06711b758da0ad9bd6a844c5740a87abd", + "rev": "758cf7296bee11f1706a574c77d072b8a7baa881", "type": "github" }, "original": { @@ -136,11 +137,11 @@ ] }, "locked": { - "lastModified": 1754091436, - "narHash": "sha256-XKqDMN1/Qj1DKivQvscI4vmHfDfvYR2pfuFOJiCeewM=", + "lastModified": 1759362264, + "narHash": "sha256-wfG0S7pltlYyZTM+qqlhJ7GMw2fTF4mLKCIVhLii/4M=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "67df8c627c2c39c41dbec76a1f201929929ab0bd", + "rev": "758cf7296bee11f1706a574c77d072b8a7baa881", "type": "github" }, "original": { @@ -228,11 +229,11 @@ ] }, "locked": { - "lastModified": 1753592768, - "narHash": "sha256-oV695RvbAE4+R9pcsT9shmp6zE/+IZe6evHWX63f2Qg=", + "lastModified": 1758463745, + "narHash": "sha256-uhzsV0Q0I9j2y/rfweWeGif5AWe0MGrgZ/3TjpDYdGA=", "owner": "nix-community", "repo": "home-manager", - "rev": "fc3add429f21450359369af74c2375cb34a2d204", + "rev": "3b955f5f0a942f9f60cdc9cacb7844335d0f21c3", "type": "github" }, "original": { @@ -256,16 +257,16 @@ ] }, "locked": { - "lastModified": 1748294338, - "narHash": "sha256-FVO01jdmUNArzBS7NmaktLdGA5qA3lUMJ4B7a05Iynw=", + "lastModified": 1754860581, + "narHash": "sha256-EM0IE63OHxXCOpDHXaTyHIOk2cNvMCGPqLt/IdtVxgk=", "owner": "NuschtOS", "repo": "ixx", - "rev": "cc5f390f7caf265461d4aab37e98d2292ebbdb85", + "rev": "babfe85a876162c4acc9ab6fb4483df88fa1f281", "type": "github" }, "original": { "owner": "NuschtOS", - "ref": "v0.0.8", + "ref": "v0.1.1", "repo": "ixx", "type": "github" } @@ -275,11 +276,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1741303672, - "narHash": "sha256-eRKbKccBu3PK/oJpmUuLo+0v45d0SEjosE8tVsHbpeA=", + "lastModified": 1756852730, + "narHash": "sha256-qPere4RBHoZxiEGl8zXU8gjroZg4gkYGEwaAbKmL4vE=", "owner": "musnix", "repo": "musnix", - "rev": "d56a15f30329f304151e4e05fa82264d127da934", + "rev": "7ccc92050e43dc92309396c6f2fe1f542214a242", "type": "github" }, "original": { @@ -300,11 +301,11 @@ "xwayland-satellite-unstable": "xwayland-satellite-unstable" }, "locked": { - "lastModified": 1754744872, - "narHash": "sha256-rcMHMs+dFWaDXev092gfxTfxHEWcUY/6SRV+cseNevQ=", + "lastModified": 1761187190, + "narHash": "sha256-5ln16iOeWpEX5MO7M3jzFEBNFE42gpFsCvSvPjtF6tQ=", "owner": "sodiboo", "repo": "niri-flake", - "rev": "346fc31bcc4d2dbcc3e8ce8dbb622e4255ff54b7", + "rev": "77a07f5d3b775fba67550c38122ebb8d3ee3ba1c", "type": "github" }, "original": { @@ -316,16 +317,16 @@ "niri-stable": { "flake": false, "locked": { - "lastModified": 1748151941, - "narHash": "sha256-z4viQZLgC2bIJ3VrzQnR+q2F3gAOEQpU1H5xHtX/2fs=", + "lastModified": 1756556321, + "narHash": "sha256-RLD89dfjN0RVO86C/Mot0T7aduCygPGaYbog566F0Qo=", "owner": "YaLTeR", "repo": "niri", - "rev": "8ba57fcf25d2fc9565131684a839d58703f1dae7", + "rev": "01be0e65f4eb91a9cd624ac0b76aaeab765c7294", "type": "github" }, "original": { "owner": "YaLTeR", - "ref": "v25.05.1", + "ref": "v25.08", "repo": "niri", "type": "github" } @@ -333,11 +334,11 @@ "niri-unstable": { "flake": false, "locked": { - "lastModified": 1754742008, - "narHash": "sha256-Tp0FG7VpLudVEC622d91z2hbdfPLCXxw0Nv43iNN4O0=", + "lastModified": 1760940149, + "narHash": "sha256-KbM47vD6E0cx+v4jYQZ8mD5N186AKm2CQlyh34TW58U=", "owner": "YaLTeR", "repo": "niri", - "rev": "67361f88fd01974ebee4cf80f0e29c87d805cc39", + "rev": "b3245b81a6ed8edfaf5388a74d2e0a23c24941e5", "type": "github" }, "original": { @@ -348,11 +349,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1740695751, - "narHash": "sha256-D+R+kFxy1KsheiIzkkx/6L63wEHBYX21OIwlFV8JvDs=", + "lastModified": 1756542300, + "narHash": "sha256-tlOn88coG5fzdyqz6R93SQL5Gpq+m/DsWpekNFhqPQk=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "6313551cd05425cd5b3e63fe47dbc324eabb15e4", + "rev": "d7600c775f877cd87b4f5a831c28aa94137377aa", "type": "github" }, "original": { @@ -364,11 +365,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1754689972, - "narHash": "sha256-eogqv6FqZXHgqrbZzHnq43GalnRbLTkbBbFtEfm1RSc=", + "lastModified": 1761016216, + "narHash": "sha256-G/iC4t/9j/52i/nm+0/4ybBmAF4hzR8CNHC75qEhjHo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "fc756aa6f5d3e2e5666efcf865d190701fef150a", + "rev": "481cf557888e05d3128a76f14c76397b7d7cc869", "type": "github" }, "original": { @@ -380,11 +381,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1754689972, - "narHash": "sha256-eogqv6FqZXHgqrbZzHnq43GalnRbLTkbBbFtEfm1RSc=", + "lastModified": 1761016216, + "narHash": "sha256-G/iC4t/9j/52i/nm+0/4ybBmAF4hzR8CNHC75qEhjHo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "fc756aa6f5d3e2e5666efcf865d190701fef150a", + "rev": "481cf557888e05d3128a76f14c76397b7d7cc869", "type": "github" }, "original": { @@ -395,11 +396,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1754214453, - "narHash": "sha256-Q/I2xJn/j1wpkGhWkQnm20nShYnG7TI99foDBpXm1SY=", + "lastModified": 1761114652, + "narHash": "sha256-f/QCJM/YhrV/lavyCVz8iU3rlZun6d+dAiC3H+CDle4=", "owner": "nixos", "repo": "nixpkgs", - "rev": "5b09dc45f24cf32316283e62aec81ffee3c3e376", + "rev": "01f116e4df6a15f4ccdffb1bcd41096869fb385c", "type": "github" }, "original": { @@ -419,11 +420,11 @@ "systems": "systems_2" }, "locked": { - "lastModified": 1754262585, - "narHash": "sha256-Yz5dJ0VzGRzSRHdHldsWQbuFYmtP3NWNreCvPfCi9CI=", + "lastModified": 1760795571, + "narHash": "sha256-gi+tWWAknKuTNso3yMeKsT9nj0jx+tuYF7g7nmLUWT8=", "owner": "nix-community", "repo": "nixvim", - "rev": "ab1b5962e1ca90b42de47e1172e0d24ca80e6256", + "rev": "6c945865ba5de87fa2d0dd8a0e66ca572ddf9043", "type": "github" }, "original": { @@ -469,11 +470,11 @@ ] }, "locked": { - "lastModified": 1753771532, - "narHash": "sha256-Pmpke0JtLRzgdlwDC5a+aiLVZ11JPUO5Bcqkj0nHE/k=", + "lastModified": 1760652422, + "narHash": "sha256-C88Pgz38QIl9JxQceexqL2G7sw9vodHWx1Uaq+NRJrw=", "owner": "NuschtOS", "repo": "search", - "rev": "2a65adaf2c0c428efb0f4a2bc406aab466e96a06", + "rev": "3ebeebe8b6a49dfb11f771f761e0310f7c48d726", "type": "github" }, "original": { @@ -502,11 +503,11 @@ ] }, "locked": { - "lastModified": 1754328224, - "narHash": "sha256-glPK8DF329/dXtosV7YSzRlF4n35WDjaVwdOMEoEXHA=", + "lastModified": 1760998189, + "narHash": "sha256-ee2e1/AeGL5X8oy/HXsZQvZnae6XfEVdstGopKucYLY=", "owner": "Mic92", "repo": "sops-nix", - "rev": "49021900e69812ba7ddb9e40f9170218a7eca9f4", + "rev": "5a7d18b5c55642df5c432aadb757140edfeb70b3", "type": "github" }, "original": { @@ -536,11 +537,11 @@ "tinted-zed": "tinted-zed" }, "locked": { - "lastModified": 1754599117, - "narHash": "sha256-AzAYdZlat002vCjCKWdFpGi2xUaiOU4DtIPnv1nomD8=", + "lastModified": 1760478648, + "narHash": "sha256-Y4l+Y3zUvqIDbyLrtOrzNvp1o50Fp9TYK+iwtwweFU4=", "owner": "danth", "repo": "stylix", - "rev": "312dec38b2231b21f36903d1bdce96daa11548ff", + "rev": "1ec254101285777db13922303cc47ded06e10bb3", "type": "github" }, "original": { @@ -701,16 +702,16 @@ "xwayland-satellite-stable": { "flake": false, "locked": { - "lastModified": 1748488455, - "narHash": "sha256-IiLr1alzKFIy5tGGpDlabQbe6LV1c9ABvkH6T5WmyRI=", + "lastModified": 1755491097, + "narHash": "sha256-m+9tUfsmBeF2Gn4HWa6vSITZ4Gz1eA1F5Kh62B0N4oE=", "owner": "Supreeeme", "repo": "xwayland-satellite", - "rev": "3ba30b149f9eb2bbf42cf4758d2158ca8cceef73", + "rev": "388d291e82ffbc73be18169d39470f340707edaa", "type": "github" }, "original": { "owner": "Supreeeme", - "ref": "v0.6", + "ref": "v0.7", "repo": "xwayland-satellite", "type": "github" } @@ -718,11 +719,11 @@ "xwayland-satellite-unstable": { "flake": false, "locked": { - "lastModified": 1754533920, - "narHash": "sha256-fCZ68Yud1sUCq6UNXj0SDyiBgVA8gJUE+14ZFGsFJG8=", + "lastModified": 1761173223, + "narHash": "sha256-FumZh+fPRaKXkl9Y1uTh5KV7Io/AyOZso+UkqLhLArs=", "owner": "Supreeeme", "repo": "xwayland-satellite", - "rev": "e0d1dad25a158551ab58547b2ece4b7d5a19929c", + "rev": "bf745144acda1343934e9a094cf9458a54d57889", "type": "github" }, "original": { @@ -736,11 +737,11 @@ "nixpkgs": "nixpkgs_3" }, "locked": { - "lastModified": 1754540523, - "narHash": "sha256-Wgv2qVckt8q11/xErY7hYdLAPcoOnZ0BkMLqyXegCzQ=", + "lastModified": 1761192367, + "narHash": "sha256-HdAtNWms1rrswlfuX5NUR9RYCMLUJHEzF986hQ0tUCw=", "owner": "youwen5", "repo": "zen-browser-flake", - "rev": "451454de40a4433174153e823994fe2ecd3c869e", + "rev": "1ce32754f78d1d7d6bf9cb44a48a06dac8bb6785", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 1c1bbae..fcce8b5 100644 --- a/flake.nix +++ b/flake.nix @@ -42,8 +42,6 @@ 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; @@ -51,7 +49,6 @@ zenix = mkConf { nixos-modules = [ ./hardware/zenix.nix - ./nixos/programs/cosmic.nix ./nixos/programs/niri.nix ./nixos/programs/gamer.nix ./nixos/programs/personal.nix @@ -62,7 +59,6 @@ ./home/programs/graphical.nix ./home/programs/gamer.nix ./home/programs/personal/. - ./home/desktop/cosmic/. ]; }; @@ -71,13 +67,11 @@ ./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 120e188..dd70137 100644 --- a/hardware/framework-13.nix +++ b/hardware/framework-13.nix @@ -57,6 +57,8 @@ networking.hostName = "framework-13"; + services.hardware.bolt.enable = true; + system.stateVersion = "24.11"; # do not change home-manager.users.${config.user}.imports = [ { @@ -77,6 +79,41 @@ } ''; }; + + 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 7408fa1..daba723 100644 --- a/hardware/zenix.nix +++ b/hardware/zenix.nix @@ -1,12 +1,9 @@ { - config, lib, - pkgs, modulesPath, + user, ... -}: let - user = config.user; -in { +}: { imports = [ (modulesPath + "/installer/scan/not-detected.nix") ./ddc.nix @@ -31,10 +28,6 @@ in { 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"; }; @@ -73,6 +66,14 @@ in { 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; @@ -84,6 +85,26 @@ in { 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 3c46f22..824d722 100644 --- a/home/default.nix +++ b/home/default.nix @@ -41,6 +41,8 @@ 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 05865a5..40431d5 100644 --- a/home/desktop/niri/default.nix +++ b/home/desktop/niri/default.nix @@ -11,6 +11,7 @@ ]; programs.waybar.settings.mainBar.modules-left = ["niri/workspaces" "niri/window"]; + programs.waybar.settings.mainBar.modules-right = lib.mkBefore ["niri/language"]; programs.fuzzel = { enable = true; @@ -32,9 +33,9 @@ programs.niri = { settings = { input.keyboard = { - xkb.layout = "us"; - xkb.variant = "dvorak"; - xkb.options = "caps:escape"; + xkb.layout = "us,gb"; + xkb.variant = "dvorak,"; + xkb.options = "caps:escape,esperanto:qwerty,lv3:ralt_switch"; }; input.mouse = { accel-profile = "flat"; @@ -46,9 +47,9 @@ dwt = true; # disable when typing }; prefer-no-csd = true; - spawn-at-startup = [ - {command = [(lib.getExe pkgs.xwayland-satellite)];} - ]; + xwayland-satellite = { + path = lib.getExe pkgs.xwayland-satellite; + }; layout = { preset-column-widths = [ {proportion = 1.0;} @@ -57,25 +58,6 @@ }; 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)]; @@ -128,8 +110,9 @@ "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 72756b4..2c3d23c 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" "pulseaudio" "clock" "tray" "battery"]; + modules-right = ["mpris" "power-profiles-daemon" "cpu" "idle_inhibitor" "wireplumber" "clock" "tray" "battery"]; "cpu" = { "format" = "{icon}"; "format-icons" = ["▁" "▂" "▃" "▄" "▅" "▆" "▇" "█"]; @@ -35,24 +35,19 @@ tooltip-format-activated = "system sleep inhibited"; tooltip-format-deactivated = "system will sleep when idle"; }; - pulseaudio = { - format-muted = "🔇 {volume}"; - format = "{icon} {volume}"; - format-icons.default = ["🔈" "🔉" "🔊"]; - on-click = "${pkgs.pavucontrol}/bin/pavucontrol"; + wireplumber = { + format-muted = "🔇"; + format = "{icon} {volume}%"; + format-icons = ["🔈" "🔉" "🔊"]; + on-click = "pwvucontrol"; }; mpris = { - format = "{player_icon} {title}"; - format-paused = "⏸️ {player_icon} {title}"; - player-icons = { - default = "▶️"; - mpd = "🎵"; - kdeconnect = "☎️"; - }; + format = "▶️ {title}"; + format-paused = "⏸️ {title}"; }; 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 6b491c5..ccd0249 100644 --- a/home/modules/email.nix +++ b/home/modules/email.nix @@ -71,7 +71,6 @@ 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 cbfeba7..e58aa94 100644 --- a/home/programs/gamer.nix +++ b/home/programs/gamer.nix @@ -8,7 +8,6 @@ # Helpers heroic - lutris gamescope gamemode mangohud diff --git a/home/programs/graphical.nix b/home/programs/graphical.nix index df550f1..9cb3e2c 100644 --- a/home/programs/graphical.nix +++ b/home/programs/graphical.nix @@ -25,7 +25,6 @@ youtube-music transmission_4-gtk feishin - grayjay # other element-desktop diff --git a/home/programs/work.nix b/home/programs/work.nix index 65a96ff..2f1b3c1 100644 --- a/home/programs/work.nix +++ b/home/programs/work.nix @@ -1,6 +1,7 @@ { config, pkgs, + lib, ... }: let modifier = config.windowManager.modifierKey; @@ -43,7 +44,7 @@ in { home.sessionVariables = { CYPRESS_INSTALL_BINARY = 0; CYPRESS_RUN_BINARY = "${pkgs.cypress}/bin/Cypress"; - MONGOMS_SYSTEM_BINARY = "${pkgs.callPackage ../../pkgs/mongodb.nix pkgs}/bin/mongod"; + MONGOMS_SYSTEM_BINARY = lib.getExe' pkgs.mongodb-7_0 "mongod"; }; gtk.gtk3.bookmarks = [ diff --git a/home/workstation.nix b/home/workstation.nix index 2e9b0c2..f4e68c0 100644 --- a/home/workstation.nix +++ b/home/workstation.nix @@ -28,7 +28,6 @@ playerctl quickemu devenv - bottles ]; services.udiskie = { diff --git a/nixos/default.nix b/nixos/default.nix index 6f108e8..7b805cb 100644 --- a/nixos/default.nix +++ b/nixos/default.nix @@ -1,13 +1,11 @@ # https://search.nixos.org/options { inputs, - config, pkgs, lib, + user, ... -}: let - user = config.user; -in { +}: { nix = { settings = { experimental-features = ["nix-command" "flakes" "pipe-operators"]; @@ -98,6 +96,7 @@ in { nix-tree comma jq + bat ]; boot.kernel.sysctl = { diff --git a/nixos/modules/work.nix b/nixos/modules/work.nix index cd358c3..94e36ff 100644 --- a/nixos/modules/work.nix +++ b/nixos/modules/work.nix @@ -12,6 +12,7 @@ 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 deleted file mode 100644 index 9c93810..0000000 --- a/nixos/programs/auto-login.nix +++ /dev/null @@ -1,10 +0,0 @@ -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 7356755..e1ddbec 100644 --- a/nixos/programs/gamer.nix +++ b/nixos/programs/gamer.nix @@ -12,10 +12,13 @@ dedicatedServer.openFirewall = true; gamescopeSession = { enable = true; - args = ["-r" "120" "-W" "3840" "-H" "2160" "-O" "HDMI-A-1" "--rt" "--hdr-enabled" "--adaptive-sync"]; + args = ["-r" "120" "-W" "3840" "-H" "2160" "-O" "HDMI-A-1" "--rt" "--hdr-enabled" "--adaptive-sync" "--xwayland-count" "2"]; 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 c6790ba..9c8497d 100644 --- a/nixos/services/grafana.nix +++ b/nixos/services/grafana.nix @@ -1,15 +1,27 @@ -{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"; @@ -34,24 +46,26 @@ in { role_attribute_path = "contains(groups[*], 'Grafana Admins') && 'Admin' || contains(groups[*], 'Grafana Editors') && 'Editor' || 'Viewer'"; }; }; - provision.dashboards.settings.providers = [{ - name = "Node Exporter"; - type = "file"; - options.path = mkDashboards [ + provision.dashboards.settings.providers = [ { - 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 = "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 = "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 c502f0d..6fdf924 100644 --- a/nixos/services/monero.nix +++ b/nixos/services/monero.nix @@ -8,9 +8,13 @@ extraConfig = '' prune-blockchain=1 confirm-external-bind=1 - 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 + out-peers=8 + in-peers=16 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 eeff1e2..c548544 100644 --- a/nixos/services/musnix.nix +++ b/nixos/services/musnix.nix @@ -25,5 +25,22 @@ 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 3667716..2ec6432 100644 --- a/nixos/workstation.nix +++ b/nixos/workstation.nix @@ -3,6 +3,7 @@ pkgs, lib, config, + user, ... }: { imports = [ @@ -21,12 +22,11 @@ hardware.bluetooth.enable = true; services.blueman.enable = true; + services.power-profiles-daemon.enable = true; services.gnome.gnome-keyring.enable = true; - programs.kdeconnect.enable = true; - - virtualisation.waydroid.enable = true; + services.displayManager.cosmic-greeter.enable = true; networking.stevenblack = { enable = lib.mkDefault true; @@ -76,18 +76,11 @@ }; qt.enable = true; - nixpkgs.overlays = [ - (final: prev: { - interalia = prev.callPackage ../pkgs/interalia.nix {}; - }) - ]; - fonts.packages = with pkgs; [ nerd-fonts.symbols-only - interalia ]; - home-manager.users.${config.user}.imports = [ + home-manager.users.${user}.imports = [ ../home/workstation.nix ];