diff --git a/.sops.yaml b/.sops.yaml index 91b21ee..9049d07 100644 --- a/.sops.yaml +++ b/.sops.yaml @@ -1,15 +1,22 @@ keys: - &personal_pgp_key 0x141576B17B4AE789 - &pc_main 0DCB1C584AECEB2674BB76C179FE3B714935CDAB + - &venus age1l6v7c5cp6sh6typgskwfufzkn3qw4av7r42z7lqyns6mtupytqhs2fg49u + - &personal_age_key age16p54d6tx3mg0htkzj43q2mzpvlqj4gz63mz5qzx8mpsp5zx4xexsszdhuk creation_rules: # This rule applies to any file named 'secrets.yaml' directly in the 'secrets/' directory # or 'secrets/github-deploy-key.yaml' etc. - - path_regex: "secrets/.*\\.yaml$" + - path_regex: "secrets/vpn-config.yaml$" key_groups: - pgp: - *personal_pgp_key - *pc_main + - path_regex: "secrets/matrix-db.yaml$" + key_groups: + - age: + - *venus + - *personal_age_key # Add host keys for decryption on the target system # sops-nix will automatically pick up the system's SSH host keys # as decryption keys if enabled in your NixOS config. diff --git a/f.nix b/f.nix new file mode 100644 index 0000000..494efd3 --- /dev/null +++ b/f.nix @@ -0,0 +1,201 @@ +{ + config, + lib, + pkgs, + inputs, + ... +}: +with lib; +with lib.custom; let + cfg = config.wms.hyprland; + + mkService = recursiveUpdate { + Unit.PartOf = ["graphical-session.target"]; + Unit.After = ["graphical-session.target"]; + Install.WantedBy = ["graphical-session.target"]; + }; + + mod = "SUPER"; +in { + options.wms.hyprland = with types; { + enable = mkBoolOpt false "Enable Hyprland"; + }; + + config = mkIf cfg.enable { + home.packages = with pkgs; [ + xwayland + grim + slurp + ]; + + wayland.windowManager.hyprland = { + enable = true; + # package = inputs.hyprland.packages.${pkgs.system}.hyprland; + xwayland.enable = true; + + systemd = { + enable = false; + enableXdgAutostart = true; + }; + }; + imports = [./conf/binds.nix]; + wayland.windowManager.hyprland.settings = with colors; { + exec-once = [ + # "dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP" + # "systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP" + "zen" + "vesktop" + "cider-2" + "networkmanagerapplet" + "[workspace 9 silent] kitty" + "[workspace 9 silent] kitty" + "[workspace 9 silent] kitty" + "[workspace 10 silent] kitty" + ]; + + env = [ + "XDG_SESSION_TYPE,wayland" + "XDG_SESSION_DESKTOP,Hyprland" + "XDG_CURRENT_DESKTOP,Hyprland" + ]; + + general = { + # gaps + gaps_in = 2; + gaps_out = 4; + + # border thiccness + border_size = 2; + + # active border color + "col.active_border" = "rgb(${rose})"; + "col.inactive_border" = "rgb(${muted})"; + }; + + input = { + kb_layout = "us,ru(phonetic)"; + kb_options = grp:win_space_toggle; + sensitivity = 0; # -1.0 - 1.0, 0 means no modification. + accel_profile = "flat"; + force_no_accel = false; + }; + + dwindle = { + force_split = 2; + }; + + decoration = { + # fancy corners + rounding = 6; + # blur + blur = { + enabled = true; + size = 8; + passes = 2; + new_optimizations = 1; + contrast = 1; + brightness = 1; + }; + + shadow = { + # shadow config + enabled = false; + # range = 60; + # render_power = 5; + # color = "rgba(07061f29)"; + }; + }; + + misc = { + # disable redundant renders + disable_splash_rendering = true; + force_default_wallpaper = 0; + disable_hyprland_logo = true; + + vfr = false; + vrr = 2; + + # dpms + # mouse_move_enables_dpms = true; # enable dpms on mouse/touchpad action + # key_press_enables_dpms = true; # enable dpms on keyboard action + disable_autoreload = true; # autoreload is unnecessary on nixos, because the config is readonly anyway + }; + + xwayland = { + force_zero_scaling = true; + }; + + cursor = { + no_hardware_cursors = true; + }; + + monitor = ["DP-1,1920x1080@165,0x0,1"]; + + layerrule = [ + "blur, ^(gtk-layer-shell)$" + "blur, ^(launcher)$" + "ignorezero, ^(gtk-layer-shell)$" + "ignorezero, ^(launcher)$" + "blur, notifications" + "ignorezero, notificatios" + "blur, bar" + "ignorezero, bar" + "ignorezero, ^(gtk-layer-shell|anyrun)$" + "blur, ^(gtk-layer-shell|anyrun)$" + "noanim, launcher" + "noanim, bar" + ]; + workspace = [ + "1,monitor:DP-1" + "2,monitor:DP-1" + "3,monitor:DP-1" + "9,monitor:DP-1" + "10,monitor:DP-1" + ]; + windowrulev2 = [ + # only allow shadows for floating windows + "noshadow, floating:0" + "tile, title:Cider" + + "idleinhibit focus, class:^(mpv)$" + + "float, title:^(Picture-in-Picture)$" + "pin, title:^(Picture-in-Picture)$" + + "float,class:udiskie" + + # "workspace special silent,class:^(pavucontrol)$" + + "float, class:^(imv)$" + + # throw sharing indicators away + "workspace special silent, title:^(Firefox — Sharing Indicator)$" + "workspace special silent, title:^(.*is sharing (your screen|a window)\.)$" + + # specify what applications start on (at boot and normal startup of the app) + "workspace 2, class:^(vesktop)$" + "workspace 3, class:^(cider)$" + "workspace 4, class:^(zen)" + ]; + }; + + # # fake a tray to let apps start + # # https://github.com/nix-community/home-manager/issues/2064 + # systemd.user.targets.tray = { + # Unit = { + # Description = "Home Manager System Tray"; + # Requires = ["graphical-session-pre.target"]; + # }; + # }; + + systemd.user.services = { + swaybg = mkService { + Unit.Description = "Wallpaper chooser"; + Service = { + ExecStart = "${getExe pkgs.swaybg} -i ${wallpaper}"; + Restart = "always"; + }; + }; + }; + }; +} diff --git a/fix-niri-nvidia.patch b/fix-niri-nvidia.patch deleted file mode 100644 index fec97d0..0000000 --- a/fix-niri-nvidia.patch +++ /dev/null @@ -1,31 +0,0 @@ -diff --git a/src/backend/tty.rs b/src/backend/tty.rs -index 1f0eae32..97cd058b 100644 ---- a/src/backend/tty.rs -+++ b/src/backend/tty.rs -@@ -2220,16 +2220,16 @@ fn surface_dmabuf_feedback( - // planes. - let scanout = builder - .clone() -- .add_preference_tranche( -- surface_render_node.dev_id(), -- Some(TrancheFlags::Scanout), -- primary_scanout_formats, -- ) -- .add_preference_tranche( -- surface_render_node.dev_id(), -- Some(TrancheFlags::Scanout), -- primary_or_overlay_scanout_formats, -- ) -+ // .add_preference_tranche( -+ // surface_render_node.dev_id(), -+ // Some(TrancheFlags::Scanout), -+ // primary_scanout_formats, -+ // ) -+ // .add_preference_tranche( -+ // surface_render_node.dev_id(), -+ // Some(TrancheFlags::Scanout), -+ // primary_or_overlay_scanout_formats, -+ // ) - .build()?; - - // If this is the primary node surface, send scanout formats in both tranches to avoid diff --git a/flake.lock b/flake.lock index 3eb22f7..ff47e4f 100644 --- a/flake.lock +++ b/flake.lock @@ -10,11 +10,11 @@ "systems": "systems" }, "locked": { - "lastModified": 1754433428, - "narHash": "sha256-NA/FT2hVhKDftbHSwVnoRTFhes62+7dxZbxj5Gxvghs=", + "lastModified": 1762618334, + "narHash": "sha256-wyT7Pl6tMFbFrs8Lk/TlEs81N6L+VSybPfiIgzU8lbQ=", "owner": "ryantm", "repo": "agenix", - "rev": "9edb1787864c4f59ae5074ad498b6272b3ec308d", + "rev": "fcdea223397448d35d9b31f798479227e80183f6", "type": "github" }, "original": { @@ -65,11 +65,11 @@ ] }, "locked": { - "lastModified": 1755946532, - "narHash": "sha256-POePremlUY5GyA1zfbtic6XLxDaQcqHN6l+bIxdT5gc=", + "lastModified": 1767024902, + "narHash": "sha256-sMdk6QkMDhIOnvULXKUM8WW8iyi551SWw2i6KQHbrrU=", "owner": "hyprwm", "repo": "aquamarine", - "rev": "81584dae2df6ac79f6b6dae0ecb7705e95129ada", + "rev": "b8a0c5ba5a9fbd2c660be7dd98bdde0ff3798556", "type": "github" }, "original": { @@ -139,11 +139,11 @@ "nixpkgs": "nixpkgs_4" }, "locked": { - "lastModified": 1756741629, - "narHash": "sha256-n+mgH3NoQf8d1jd8cDp/9Mt++hhyuE3LO3ZAxzjWRZw=", + "lastModified": 1767967164, + "narHash": "sha256-Cx4VETh9dGoQYDtWhre7g66d7SAr+h1h6f+SSHxVrck=", "owner": "catppuccin", "repo": "nix", - "rev": "cd22197da06df1eb6fabdaa2fc22c170c4f67382", + "rev": "e973584280e3b0e1d5b5a1a5e9948dc222c54af7", "type": "github" }, "original": { @@ -161,11 +161,11 @@ "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1756606761, - "narHash": "sha256-lcHMwq0LVcS1mP9o0pq00Von8PsXMsFPPo3ZXGWa7DU=", + "lastModified": 1765204341, + "narHash": "sha256-7xd45skcuLCu2DHxVvU+W/z+7CUOjyv+QPtT4PLZaIU=", "owner": "chaotic-cx", "repo": "nyx", - "rev": "9e9e58125b4ba190658235106858f9733b25a1b4", + "rev": "aacb796ccd42be1555196c20013b9b674b71df75", "type": "github" }, "original": { @@ -215,11 +215,11 @@ }, "crane_2": { "locked": { - "lastModified": 1733016477, - "narHash": "sha256-Hh0khbqBeCtiNS0SJgqdWrQDem9WlPEc2KF5pAY+st0=", + "lastModified": 1762189950, + "narHash": "sha256-aotggLUXjlDGqKWibGPQcMZJGgdr79S21ISrv1Wz6RI=", "owner": "ipetkov", "repo": "crane", - "rev": "76d64e779e2fbaf172110038492343a8c4e29b55", + "rev": "50700219af884287ad7c85507e2f163b23a027a9", "type": "github" }, "original": { @@ -230,11 +230,11 @@ }, "crane_3": { "locked": { - "lastModified": 1731098351, - "narHash": "sha256-HQkYvKvaLQqNa10KEFGgWHfMAbWBfFp+4cAgkut+NNE=", + "lastModified": 1754269165, + "narHash": "sha256-0tcS8FHd4QjbCVoxN9jI+PjHgA4vc/IjkUSp+N3zy0U=", "owner": "ipetkov", "repo": "crane", - "rev": "ef80ead953c1b28316cc3f8613904edc2eb90c28", + "rev": "444e81206df3f7d92780680e45858e31d2f07a08", "type": "github" }, "original": { @@ -270,11 +270,11 @@ "nixpkgs": "nixpkgs_8" }, "locked": { - "lastModified": 1755825449, - "narHash": "sha256-XkiN4NM9Xdy59h69Pc+Vg4PxkSm9EWl6u7k6D5FZ5cM=", + "lastModified": 1768220509, + "narHash": "sha256-8wMrJP/Xk5Dkm0TxzaERLt3eGFEhHTWaJKUpK3AoL4o=", "owner": "LnL7", "repo": "nix-darwin", - "rev": "8df64f819698c1fee0c2969696f54a843b2231e8", + "rev": "7b1d394e7d9112d4060e12ef3271b38a7c43e83b", "type": "github" }, "original": { @@ -290,11 +290,11 @@ ] }, "locked": { - "lastModified": 1756733629, - "narHash": "sha256-dwWGlDhcO5SMIvMSTB4mjQ5Pvo2vtxvpIknhVnSz2I8=", + "lastModified": 1766150702, + "narHash": "sha256-P0kM+5o+DKnB6raXgFEk3azw8Wqg5FL6wyl9jD+G5a4=", "owner": "nix-community", "repo": "disko", - "rev": "a5c4f2ab72e3d1ab43e3e65aa421c6f2bd2e12a1", + "rev": "916506443ecd0d0b4a0f4cf9d40a3c22ce39b378", "type": "github" }, "original": { @@ -303,17 +303,38 @@ "type": "github" } }, + "dms": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ], + "quickshell": "quickshell" + }, + "locked": { + "lastModified": 1768311656, + "narHash": "sha256-u8ag2bxkOmsn5l20sdWDnSKZX+HAjGRZGzsADEpKah0=", + "owner": "AvengeMedia", + "repo": "DankMaterialShell", + "rev": "8891c388d0f06343da507087412d07199ddad153", + "type": "github" + }, + "original": { + "owner": "AvengeMedia", + "repo": "DankMaterialShell", + "type": "github" + } + }, "emacs-overlay": { "inputs": { "nixpkgs": "nixpkgs_9", "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1756832996, - "narHash": "sha256-pW+QqeXIIKzo4GkX+WM86t7vai++RHaDE32aMDAIUJs=", + "lastModified": 1768295847, + "narHash": "sha256-vcHIiukrOYQLaGv/rtYS8BlkiwoZwJ+odNhgxOWNGZs=", "owner": "nix-community", "repo": "emacs-overlay", - "rev": "73c17b083cd9383d9dd0c98ca33c5d7cdabfec6c", + "rev": "51c96db303d7c57290f14660b8832c25743d3971", "type": "github" }, "original": { @@ -330,11 +351,11 @@ }, "locked": { "dir": "pkgs/firefox-addons", - "lastModified": 1756785812, - "narHash": "sha256-B3cR5keCkTTaI7hCI1YIopLWT3CviWf/uwOjC9AQ27Y=", + "lastModified": 1768277016, + "narHash": "sha256-nGObauOcAGhTlyb/MfZ4uOOCIHqBc7jtV+gJjPjsPDw=", "owner": "rycee", "repo": "nur-expressions", - "rev": "eeb9ccaba785ca13fc2dcf9d83613633a0605feb", + "rev": "a648659ba1699d97760cca3eadcae82114b03b48", "type": "gitlab" }, "original": { @@ -347,27 +368,11 @@ "flake-compat": { "flake": false, "locked": { - "lastModified": 1747046372, - "narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=", + "lastModified": 1761588595, + "narHash": "sha256-XKUZz9zewJNUj46b4AJdiRZJAvSZ0Dqj2BNfXvFlJC4=", "owner": "edolstra", "repo": "flake-compat", - "rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885", - "type": "github" - }, - "original": { - "owner": "edolstra", - "repo": "flake-compat", - "type": "github" - } - }, - "flake-compat_10": { - "flake": false, - "locked": { - "lastModified": 1747046372, - "narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=", - "owner": "edolstra", - "repo": "flake-compat", - "rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885", + "rev": "f387cd2afec9419c8ee37694406ca490c3f34ee5", "type": "github" }, "original": { @@ -379,15 +384,15 @@ "flake-compat_2": { "flake": false, "locked": { - "lastModified": 1747046372, - "narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=", - "owner": "edolstra", + "lastModified": 1767039857, + "narHash": "sha256-vNpUSpF5Nuw8xvDLj2KCwwksIbjua2LZCqhV1LNRDns=", + "owner": "NixOS", "repo": "flake-compat", - "rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885", + "rev": "5edf11c44bc78a0d334f6334cdaf7d60d732daab", "type": "github" }, "original": { - "owner": "edolstra", + "owner": "NixOS", "repo": "flake-compat", "type": "github" } @@ -395,11 +400,11 @@ "flake-compat_3": { "flake": false, "locked": { - "lastModified": 1696426674, - "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "lastModified": 1747046372, + "narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=", "owner": "edolstra", "repo": "flake-compat", - "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885", "type": "github" }, "original": { @@ -411,11 +416,11 @@ "flake-compat_4": { "flake": false, "locked": { - "lastModified": 1747046372, - "narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=", + "lastModified": 1761588595, + "narHash": "sha256-XKUZz9zewJNUj46b4AJdiRZJAvSZ0Dqj2BNfXvFlJC4=", "owner": "edolstra", "repo": "flake-compat", - "rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885", + "rev": "f387cd2afec9419c8ee37694406ca490c3f34ee5", "type": "github" }, "original": { @@ -427,11 +432,11 @@ "flake-compat_5": { "flake": false, "locked": { - "lastModified": 1747046372, - "narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=", + "lastModified": 1650374568, + "narHash": "sha256-Z+s0J8/r907g149rllvwhb4pKi8Wam5ij0st8PwAh+E=", "owner": "edolstra", "repo": "flake-compat", - "rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885", + "rev": "b4a34015c698c7793d592d66adbab377907a2be8", "type": "github" }, "original": { @@ -443,59 +448,11 @@ "flake-compat_6": { "flake": false, "locked": { - "lastModified": 1747046372, - "narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=", + "lastModified": 1767039857, + "narHash": "sha256-vNpUSpF5Nuw8xvDLj2KCwwksIbjua2LZCqhV1LNRDns=", "owner": "edolstra", "repo": "flake-compat", - "rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885", - "type": "github" - }, - "original": { - "owner": "edolstra", - "repo": "flake-compat", - "type": "github" - } - }, - "flake-compat_7": { - "flake": false, - "locked": { - "lastModified": 1650374568, - "narHash": "sha256-Z+s0J8/r907g149rllvwhb4pKi8Wam5ij0st8PwAh+E=", - "owner": "edolstra", - "repo": "flake-compat", - "rev": "b4a34015c698c7793d592d66adbab377907a2be8", - "type": "github" - }, - "original": { - "owner": "edolstra", - "repo": "flake-compat", - "type": "github" - } - }, - "flake-compat_8": { - "flake": false, - "locked": { - "lastModified": 1747046372, - "narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=", - "owner": "edolstra", - "repo": "flake-compat", - "rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885", - "type": "github" - }, - "original": { - "owner": "edolstra", - "repo": "flake-compat", - "type": "github" - } - }, - "flake-compat_9": { - "flake": false, - "locked": { - "lastModified": 1650374568, - "narHash": "sha256-Z+s0J8/r907g149rllvwhb4pKi8Wam5ij0st8PwAh+E=", - "owner": "edolstra", - "repo": "flake-compat", - "rev": "b4a34015c698c7793d592d66adbab377907a2be8", + "rev": "5edf11c44bc78a0d334f6334cdaf7d60d732daab", "type": "github" }, "original": { @@ -527,11 +484,11 @@ "nixpkgs-lib": "nixpkgs-lib_2" }, "locked": { - "lastModified": 1733269028, - "narHash": "sha256-kVq/jAKKtbvWwbL9wf0SKDxtxsC5Gb+nlIYEFnyXhGA=", + "lastModified": 1762440070, + "narHash": "sha256-xxdepIcb39UJ94+YydGP221rjnpkDZUlykKuF54PsqI=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "e37654df08605b510ad84eceaafcc7248495e843", + "rev": "26d05891e14c88eb4a5d5bee659c0db5afb609d8", "type": "github" }, "original": { @@ -548,11 +505,11 @@ ] }, "locked": { - "lastModified": 1730504689, - "narHash": "sha256-hgmguH29K2fvs9szpq2r3pz2/8cJd2LPS+b4tfNFCwE=", + "lastModified": 1754091436, + "narHash": "sha256-XKqDMN1/Qj1DKivQvscI4vmHfDfvYR2pfuFOJiCeewM=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "506278e768c2a08bec68eb62932193e341f55c90", + "rev": "67df8c627c2c39c41dbec76a1f201929929ab0bd", "type": "github" }, "original": { @@ -569,11 +526,11 @@ ] }, "locked": { - "lastModified": 1756770412, - "narHash": "sha256-+uWLQZccFHwqpGqr2Yt5VsW/PbeJVTn9Dk6SHWhNRPw=", + "lastModified": 1768135262, + "narHash": "sha256-PVvu7OqHBGWN16zSi6tEmPwwHQ4rLPU9Plvs8/1TUBY=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "4524271976b625a4a605beefd893f270620fd751", + "rev": "80daad04eddbbf5a4d883996a73f3f542fa437ac", "type": "github" }, "original": { @@ -583,36 +540,15 @@ } }, "flake-parts_5": { - "inputs": { - "nixpkgs-lib": [ - "neovim-nightly-overlay", - "hercules-ci-effects", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1754487366, - "narHash": "sha256-pHYj8gUBapuUzKV/kN/tR3Zvqc7o6gdFB9XKXIp1SQ8=", - "owner": "hercules-ci", - "repo": "flake-parts", - "rev": "af66ad14b28a127c5c0f3bbb298218fc63528a18", - "type": "github" - }, - "original": { - "id": "flake-parts", - "type": "indirect" - } - }, - "flake-parts_6": { "inputs": { "nixpkgs-lib": "nixpkgs-lib_3" }, "locked": { - "lastModified": 1754487366, - "narHash": "sha256-pHYj8gUBapuUzKV/kN/tR3Zvqc7o6gdFB9XKXIp1SQ8=", + "lastModified": 1767609335, + "narHash": "sha256-feveD98mQpptwrAEggBQKJTYbvwwglSbOv53uCfH9PY=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "af66ad14b28a127c5c0f3bbb298218fc63528a18", + "rev": "250481aafeb741edfe23d29195671c19b36b6dca", "type": "github" }, "original": { @@ -621,7 +557,7 @@ "type": "github" } }, - "flake-parts_7": { + "flake-parts_6": { "inputs": { "nixpkgs-lib": "nixpkgs-lib_4" }, @@ -639,7 +575,7 @@ "type": "github" } }, - "flake-parts_8": { + "flake-parts_7": { "inputs": { "nixpkgs-lib": "nixpkgs-lib_5" }, @@ -690,25 +626,6 @@ } }, "flake-utils-plus": { - "inputs": { - "flake-utils": "flake-utils_6" - }, - "locked": { - "lastModified": 1715533576, - "narHash": "sha256-fT4ppWeCJ0uR300EH3i7kmgRZnAVxrH+XtK09jQWihk=", - "owner": "gytis-ivaskevicius", - "repo": "flake-utils-plus", - "rev": "3542fe9126dc492e53ddd252bb0260fe035f2c0f", - "type": "github" - }, - "original": { - "owner": "gytis-ivaskevicius", - "repo": "flake-utils-plus", - "rev": "3542fe9126dc492e53ddd252bb0260fe035f2c0f", - "type": "github" - } - }, - "flake-utils-plus_2": { "inputs": { "flake-utils": "flake-utils_7" }, @@ -785,6 +702,24 @@ "inputs": { "systems": "systems_11" }, + "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_6": { + "inputs": { + "systems": "systems_12" + }, "locked": { "lastModified": 1701680307, "narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=", @@ -799,9 +734,9 @@ "type": "github" } }, - "flake-utils_6": { + "flake-utils_7": { "inputs": { - "systems": "systems_15" + "systems": "systems_16" }, "locked": { "lastModified": 1694529238, @@ -817,9 +752,9 @@ "type": "github" } }, - "flake-utils_7": { + "flake-utils_8": { "inputs": { - "systems": "systems_16" + "systems": "systems_17" }, "locked": { "lastModified": 1694529238, @@ -854,16 +789,17 @@ "inputs": { "flake-compat": "flake-compat", "flake-utils": "flake-utils_3", + "home-manager": "home-manager_3", "nixpkgs": "nixpkgs_10", "zig": "zig", "zon2nix": "zon2nix" }, "locked": { - "lastModified": 1756850146, - "narHash": "sha256-6bHIDP99bxK4H3PsEQjKaGG3RhxZY3HrMzL/soqXzfk=", + "lastModified": 1768242096, + "narHash": "sha256-lqjA2rS5WL7+ZXqHjMp2/gvQfrYczFt8BICiQUGlStA=", "owner": "ghostty-org", "repo": "ghostty", - "rev": "8d11c08db3263e0507bfe010e4c423a61b323ac0", + "rev": "c90f47f11f5ceaf0f161350c3755db2c50ade3f1", "type": "github" }, "original": { @@ -885,34 +821,11 @@ ] }, "locked": { - "lastModified": 1750779888, - "narHash": "sha256-wibppH3g/E2lxU43ZQHC5yA/7kIKLGxVEnsnVK1BtRg=", + "lastModified": 1763988335, + "narHash": "sha256-QlcnByMc8KBjpU37rbq5iP7Cp97HvjRP0ucfdh+M4Qc=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "16ec914f6fb6f599ce988427d9d94efddf25fe6d", - "type": "github" - }, - "original": { - "owner": "cachix", - "repo": "git-hooks.nix", - "type": "github" - } - }, - "git-hooks_2": { - "inputs": { - "flake-compat": "flake-compat_6", - "gitignore": "gitignore_4", - "nixpkgs": [ - "neovim-nightly-overlay", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1755960406, - "narHash": "sha256-RF7j6C1TmSTK9tYWO6CdEMtg6XZaUKcvZwOCD2SICZs=", - "owner": "cachix", - "repo": "git-hooks.nix", - "rev": "e891a93b193fcaf2fc8012d890dc7f0befe86ec2", + "rev": "50b9238891e388c9fdc6a5c49e49c42533a1b5ce", "type": "github" }, "original": { @@ -987,50 +900,6 @@ "type": "github" } }, - "gitignore_4": { - "inputs": { - "nixpkgs": [ - "neovim-nightly-overlay", - "git-hooks", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1709087332, - "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", - "owner": "hercules-ci", - "repo": "gitignore.nix", - "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "gitignore.nix", - "type": "github" - } - }, - "hercules-ci-effects": { - "inputs": { - "flake-parts": "flake-parts_5", - "nixpkgs": [ - "neovim-nightly-overlay", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1755233722, - "narHash": "sha256-AavrbMltJKcC2Fx0lfJoZfmy7g87ebXU0ddVenhajLA=", - "owner": "hercules-ci", - "repo": "hercules-ci-effects", - "rev": "99e03e72e3f7e13506f80ef9ebaedccb929d84d0", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "hercules-ci-effects", - "type": "github" - } - }, "home-manager": { "inputs": { "nixpkgs": [ @@ -1060,11 +929,11 @@ ] }, "locked": { - "lastModified": 1756261190, - "narHash": "sha256-eiy0klFK5EVJLNilutR7grsZN/7Itj9DyD75eyOf83k=", + "lastModified": 1764998300, + "narHash": "sha256-fZatn/KLfHLDXnF0wy7JxXqGaZmGDTVufT4o/AOlj44=", "owner": "nix-community", "repo": "home-manager", - "rev": "77f348da3176dc68b20a73dab94852a417daf361", + "rev": "27a6182347ccae90a88231ae0dc5dfa7d15815bb", "type": "github" }, "original": { @@ -1076,15 +945,16 @@ "home-manager_3": { "inputs": { "nixpkgs": [ + "ghostty", "nixpkgs" ] }, "locked": { - "lastModified": 1756842514, - "narHash": "sha256-XbtRMewPGJwTNhBC4pnBu3w/xT1XejvB0HfohC2Kga8=", + "lastModified": 1768068402, + "narHash": "sha256-bAXnnJZKJiF7Xr6eNW6+PhBf1lg2P1aFUO9+xgWkXfA=", "owner": "nix-community", "repo": "home-manager", - "rev": "30fc1b532645a21e157b6e33e3f8b4c154f86382", + "rev": "8bc5473b6bc2b6e1529a9c4040411e1199c43b4c", "type": "github" }, "original": { @@ -1094,6 +964,26 @@ } }, "home-manager_4": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1768271922, + "narHash": "sha256-zmFw7AtcmfMxW3vR7AiGeQQeHhdrd2x7a3hxzd6vJYI=", + "owner": "nix-community", + "repo": "home-manager", + "rev": "fbd566923adcfa67be512a14a79467e2ab8a5777", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "home-manager", + "type": "github" + } + }, + "home-manager_5": { "inputs": { "nixpkgs": [ "zen-browser", @@ -1101,11 +991,11 @@ ] }, "locked": { - "lastModified": 1752603129, - "narHash": "sha256-S+wmHhwNQ5Ru689L2Gu8n1OD6s9eU9n9mD827JNR+kw=", + "lastModified": 1767104570, + "narHash": "sha256-GKgwu5//R+cLdKysZjGqvUEEOGXXLdt93sNXeb2M/Lk=", "owner": "nix-community", "repo": "home-manager", - "rev": "e8c19a3cec2814c754f031ab3ae7316b64da085b", + "rev": "e4e78a2cbeaddd07ab7238971b16468cc1d14daf", "type": "github" }, "original": { @@ -1159,11 +1049,11 @@ ] }, "locked": { - "lastModified": 1755678602, - "narHash": "sha256-uEC5O/NIUNs1zmc1aH1+G3GRACbODjk2iS0ET5hXtuk=", + "lastModified": 1766946335, + "narHash": "sha256-MRD+Jr2bY11MzNDfenENhiK6pvN+nHygxdHoHbZ1HtE=", "owner": "hyprwm", "repo": "hyprgraphics", - "rev": "157cc52065a104fc3b8fa542ae648b992421d1c7", + "rev": "4af02a3925b454deb1c36603843da528b67ded6c", "type": "github" }, "original": { @@ -1184,11 +1074,11 @@ "systems": "systems_7" }, "locked": { - "lastModified": 1756291201, - "narHash": "sha256-YzRWE3rCnsY0WDRJcn4KvyWUoe+5zdkUYNIaHGP9BZ4=", + "lastModified": 1766230298, + "narHash": "sha256-9Qg2/L69yghAH9KLjxOv/n7Sn5JSJDLGnQjJok4r3ZM=", "owner": "hyprwm", "repo": "hypridle", - "rev": "5430b73ddf148651bcf35fa39ed4d757c7534028", + "rev": "833eb85d05deb73ead48e57826e7385384fd55a6", "type": "github" }, "original": { @@ -1202,22 +1092,23 @@ "aquamarine": "aquamarine", "hyprcursor": "hyprcursor", "hyprgraphics": "hyprgraphics", + "hyprland-guiutils": "hyprland-guiutils", "hyprland-protocols": "hyprland-protocols_2", - "hyprland-qtutils": "hyprland-qtutils", "hyprlang": "hyprlang_2", "hyprutils": "hyprutils_2", "hyprwayland-scanner": "hyprwayland-scanner_2", - "nixpkgs": "nixpkgs_12", + "hyprwire": "hyprwire", + "nixpkgs": "nixpkgs_11", "pre-commit-hooks": "pre-commit-hooks", "systems": "systems_8", "xdph": "xdph" }, "locked": { - "lastModified": 1756811803, - "narHash": "sha256-MuR2EcPnJ7VOhK1ipdOcyRvGgRFZbRWA1fl27Gzrie0=", + "lastModified": 1768238888, + "narHash": "sha256-6+TIBr+Cm41UgoSqYGl2zQOxKt35sHcemv/dRPsZQzQ=", "ref": "refs/heads/main", - "rev": "127aab815908ecbd3db4d23f127d2e96b79855f9", - "revCount": 6408, + "rev": "8d03fcc8d76245be013254ea30fbe534f680dc9f", + "revCount": 6807, "submodules": true, "type": "git", "url": "https://github.com/hyprwm/Hyprland" @@ -1228,6 +1119,52 @@ "url": "https://github.com/hyprwm/Hyprland" } }, + "hyprland-guiutils": { + "inputs": { + "aquamarine": [ + "hyprland", + "aquamarine" + ], + "hyprgraphics": [ + "hyprland", + "hyprgraphics" + ], + "hyprlang": [ + "hyprland", + "hyprlang" + ], + "hyprtoolkit": "hyprtoolkit", + "hyprutils": [ + "hyprland", + "hyprutils" + ], + "hyprwayland-scanner": [ + "hyprland", + "hyprwayland-scanner" + ], + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1767023960, + "narHash": "sha256-R2HgtVS1G3KSIKAQ77aOZ+Q0HituOmPgXW9nBNkpp3Q=", + "owner": "hyprwm", + "repo": "hyprland-guiutils", + "rev": "c2e906261142f5dd1ee0bfc44abba23e2754c660", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprland-guiutils", + "type": "github" + } + }, "hyprland-protocols": { "inputs": { "nixpkgs": [ @@ -1240,11 +1177,11 @@ ] }, "locked": { - "lastModified": 1749046714, - "narHash": "sha256-kymV5FMnddYGI+UjwIw8ceDjdeg7ToDVjbHCvUlhn14=", + "lastModified": 1765214753, + "narHash": "sha256-P9zdGXOzToJJgu5sVjv7oeOGPIIwrd9hAUAP3PsmBBs=", "owner": "hyprwm", "repo": "hyprland-protocols", - "rev": "613878cb6f459c5e323aaafe1e6f388ac8a36330", + "rev": "3f3860b869014c00e8b9e0528c7b4ddc335c21ab", "type": "github" }, "original": { @@ -1265,11 +1202,11 @@ ] }, "locked": { - "lastModified": 1749046714, - "narHash": "sha256-kymV5FMnddYGI+UjwIw8ceDjdeg7ToDVjbHCvUlhn14=", + "lastModified": 1765214753, + "narHash": "sha256-P9zdGXOzToJJgu5sVjv7oeOGPIIwrd9hAUAP3PsmBBs=", "owner": "hyprwm", "repo": "hyprland-protocols", - "rev": "613878cb6f459c5e323aaafe1e6f388ac8a36330", + "rev": "3f3860b869014c00e8b9e0528c7b4ddc335c21ab", "type": "github" }, "original": { @@ -1278,74 +1215,6 @@ "type": "github" } }, - "hyprland-qt-support": { - "inputs": { - "hyprlang": [ - "hyprland", - "hyprland-qtutils", - "hyprlang" - ], - "nixpkgs": [ - "hyprland", - "hyprland-qtutils", - "nixpkgs" - ], - "systems": [ - "hyprland", - "hyprland-qtutils", - "systems" - ] - }, - "locked": { - "lastModified": 1749154592, - "narHash": "sha256-DO7z5CeT/ddSGDEnK9mAXm1qlGL47L3VAHLlLXoCjhE=", - "owner": "hyprwm", - "repo": "hyprland-qt-support", - "rev": "4c8053c3c888138a30c3a6c45c2e45f5484f2074", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "hyprland-qt-support", - "type": "github" - } - }, - "hyprland-qtutils": { - "inputs": { - "hyprland-qt-support": "hyprland-qt-support", - "hyprlang": [ - "hyprland", - "hyprlang" - ], - "hyprutils": [ - "hyprland", - "hyprland-qtutils", - "hyprlang", - "hyprutils" - ], - "nixpkgs": [ - "hyprland", - "nixpkgs" - ], - "systems": [ - "hyprland", - "systems" - ] - }, - "locked": { - "lastModified": 1753819801, - "narHash": "sha256-tHe6XeNeVeKapkNM3tcjW4RuD+tB2iwwoogWJOtsqTI=", - "owner": "hyprwm", - "repo": "hyprland-qtutils", - "rev": "b308a818b9dcaa7ab8ccab891c1b84ebde2152bc", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "hyprland-qtutils", - "type": "github" - } - }, "hyprlang": { "inputs": { "hyprutils": [ @@ -1362,11 +1231,11 @@ ] }, "locked": { - "lastModified": 1749145882, - "narHash": "sha256-qr0KXeczF8Sma3Ae7+dR2NHhvG7YeLBJv19W4oMu6ZE=", + "lastModified": 1764612430, + "narHash": "sha256-54ltTSbI6W+qYGMchAgCR6QnC1kOdKXN6X6pJhOWxFg=", "owner": "hyprwm", "repo": "hyprlang", - "rev": "1bfb84f54d50c7ae6558c794d3cfd5f6a7e6e676", + "rev": "0d00dc118981531aa731150b6ea551ef037acddd", "type": "github" }, "original": { @@ -1391,11 +1260,11 @@ ] }, "locked": { - "lastModified": 1753622892, - "narHash": "sha256-0K+A+gmOI8IklSg5It1nyRNv0kCNL51duwnhUO/B8JA=", + "lastModified": 1764612430, + "narHash": "sha256-54ltTSbI6W+qYGMchAgCR6QnC1kOdKXN6X6pJhOWxFg=", "owner": "hyprwm", "repo": "hyprlang", - "rev": "23f0debd2003f17bd65f851cd3f930cff8a8c809", + "rev": "0d00dc118981531aa731150b6ea551ef037acddd", "type": "github" }, "original": { @@ -1404,6 +1273,58 @@ "type": "github" } }, + "hyprtoolkit": { + "inputs": { + "aquamarine": [ + "hyprland", + "hyprland-guiutils", + "aquamarine" + ], + "hyprgraphics": [ + "hyprland", + "hyprland-guiutils", + "hyprgraphics" + ], + "hyprlang": [ + "hyprland", + "hyprland-guiutils", + "hyprlang" + ], + "hyprutils": [ + "hyprland", + "hyprland-guiutils", + "hyprutils" + ], + "hyprwayland-scanner": [ + "hyprland", + "hyprland-guiutils", + "hyprwayland-scanner" + ], + "nixpkgs": [ + "hyprland", + "hyprland-guiutils", + "nixpkgs" + ], + "systems": [ + "hyprland", + "hyprland-guiutils", + "systems" + ] + }, + "locked": { + "lastModified": 1764592794, + "narHash": "sha256-7CcO+wbTJ1L1NBQHierHzheQGPWwkIQug/w+fhTAVuU=", + "owner": "hyprwm", + "repo": "hyprtoolkit", + "rev": "5cfe0743f0e608e1462972303778d8a0859ee63e", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprtoolkit", + "type": "github" + } + }, "hyprutils": { "inputs": { "nixpkgs": [ @@ -1416,11 +1337,11 @@ ] }, "locked": { - "lastModified": 1749135356, - "narHash": "sha256-Q8mAKMDsFbCEuq7zoSlcTuxgbIBVhfIYpX0RjE32PS0=", + "lastModified": 1766160771, + "narHash": "sha256-roINUGikWRqqgKrD4iotKbGj3ZKJl3hjMz5l/SyKrHw=", "owner": "hyprwm", "repo": "hyprutils", - "rev": "e36db00dfb3a3d3fdcc4069cb292ff60d2699ccb", + "rev": "5ac060bfcf2f12b3a6381156ebbc13826a05b09f", "type": "github" }, "original": { @@ -1441,11 +1362,11 @@ ] }, "locked": { - "lastModified": 1756117388, - "narHash": "sha256-oRDel6pNl/T2tI+nc/USU9ZP9w08dxtl7hiZxa0C/Wc=", + "lastModified": 1766253372, + "narHash": "sha256-1+p4Kw8HdtMoFSmJtfdwjxM4bPxDK9yg27SlvUMpzWA=", "owner": "hyprwm", "repo": "hyprutils", - "rev": "b2ae3204845f5f2f79b4703b441252d8ad2ecfd0", + "rev": "51a4f93ce8572e7b12b7284eb9e6e8ebf16b4be9", "type": "github" }, "original": { @@ -1466,11 +1387,11 @@ ] }, "locked": { - "lastModified": 1749145760, - "narHash": "sha256-IHaGWpGrv7seFWdw/1A+wHtTsPlOGIKMrk1TUIYJEFI=", + "lastModified": 1763640274, + "narHash": "sha256-Uan1Nl9i4TF/kyFoHnTq1bd/rsWh4GAK/9/jDqLbY5A=", "owner": "hyprwm", "repo": "hyprwayland-scanner", - "rev": "817918315ea016cc2d94004bfb3223b5fd9dfcc6", + "rev": "f6cf414ca0e16a4d30198fd670ec86df3c89f671", "type": "github" }, "original": { @@ -1491,11 +1412,11 @@ ] }, "locked": { - "lastModified": 1755184602, - "narHash": "sha256-RCBQN8xuADB0LEgaKbfRqwm6CdyopE1xIEhNc67FAbw=", + "lastModified": 1763640274, + "narHash": "sha256-Uan1Nl9i4TF/kyFoHnTq1bd/rsWh4GAK/9/jDqLbY5A=", "owner": "hyprwm", "repo": "hyprwayland-scanner", - "rev": "b3b0f1f40ae09d4447c20608e5a4faf8bf3c492d", + "rev": "f6cf414ca0e16a4d30198fd670ec86df3c89f671", "type": "github" }, "original": { @@ -1504,6 +1425,35 @@ "type": "github" } }, + "hyprwire": { + "inputs": { + "hyprutils": [ + "hyprland", + "hyprutils" + ], + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1767473322, + "narHash": "sha256-RGOeG+wQHeJ6BKcsSB8r0ZU77g9mDvoQzoTKj2dFHwA=", + "owner": "hyprwm", + "repo": "hyprwire", + "rev": "d5e7d6b49fe780353c1cf9a1cf39fa8970bd9d11", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprwire", + "type": "github" + } + }, "jovian": { "inputs": { "nix-github-actions": "nix-github-actions", @@ -1513,11 +1463,11 @@ ] }, "locked": { - "lastModified": 1756201372, - "narHash": "sha256-bK5j5cwJgO5AZXlDl5AgISzpOv9YV1Fcv2nDr9RW/5o=", + "lastModified": 1764922999, + "narHash": "sha256-LSvUxKm6S6ZAd/otQSkAHd3+8KJhi8OwGJGSe0K//B8=", "owner": "Jovian-Experiments", "repo": "Jovian-NixOS", - "rev": "9f6745bd704ab7f2617d41c2b02f4fd5f9ed0e89", + "rev": "9b9ead1b5591b68f4048e7205ba1397bc85ce6c4", "type": "github" }, "original": { @@ -1538,11 +1488,11 @@ "treefmt-nix": "treefmt-nix_2" }, "locked": { - "lastModified": 1733281564, - "narHash": "sha256-Yr9mk33lrryea4b7dlOWgI7Cjrfz5Q3cjEyjPqZ9FK8=", + "lastModified": 1762441433, + "narHash": "sha256-YWYrxn2MK8cxvg8eFXRQa2on57ScJK9cR3e6ojnkQx8=", "owner": "zackartz", "repo": "kb-gui", - "rev": "499dab14fc2935e802e259501e86f5ffe8fb2f2e", + "rev": "10a48d8de7504c7860aa32afc5a8c2e9e68a1339", "type": "github" }, "original": { @@ -1563,25 +1513,44 @@ "rust-overlay": "rust-overlay_4" }, "locked": { - "lastModified": 1737639419, - "narHash": "sha256-AEEDktApTEZ5PZXNDkry2YV2k6t0dTgLPEmAZbnigXU=", + "lastModified": 1762205063, + "narHash": "sha256-If6vQ+KvtKs3ARBO9G3l+4wFSCYtRBrwX1z+I+B61wQ=", "owner": "nix-community", "repo": "lanzaboote", - "rev": "a65905a09e2c43ff63be8c0e86a93712361f871e", + "rev": "88b8a563ff5704f4e8d8e5118fb911fa2110ca05", "type": "github" }, "original": { "owner": "nix-community", - "ref": "v0.4.2", + "ref": "v0.4.3", "repo": "lanzaboote", "type": "github" } }, + "lazyvim": { + "inputs": { + "flake-utils": "flake-utils_4", + "nixpkgs": "nixpkgs_14" + }, + "locked": { + "lastModified": 1767986188, + "narHash": "sha256-z3m/3JomuimxQUVauP9n1GO+QHa50xvAMLKKw1vWE0Q=", + "owner": "pfassina", + "repo": "lazyvim-nix", + "rev": "af3997a8b663ae0d570ae04867cd4b51873adfe2", + "type": "github" + }, + "original": { + "owner": "pfassina", + "repo": "lazyvim-nix", + "type": "github" + } + }, "lexical": { "inputs": { - "flake-parts": "flake-parts_8", - "nixpkgs": "nixpkgs_26", - "systems": "systems_19" + "flake-parts": "flake-parts_7", + "nixpkgs": "nixpkgs_25", + "systems": "systems_20" }, "locked": { "lastModified": 1727126932, @@ -1613,7 +1582,7 @@ }, "lix-module": { "inputs": { - "flake-utils": "flake-utils_4", + "flake-utils": "flake-utils_5", "flakey-profile": "flakey-profile", "lix": "lix", "nixpkgs": [ @@ -1637,15 +1606,14 @@ "blobs": "blobs", "flake-compat": "flake-compat_4", "git-hooks": "git-hooks", - "nixpkgs": "nixpkgs_15", - "nixpkgs-25_05": "nixpkgs-25_05" + "nixpkgs": "nixpkgs_15" }, "locked": { - "lastModified": 1756130152, - "narHash": "sha256-3qcN28djoBqqhEqOv8ve3/+wD0lLR2YCVV1EZ4SYfjo=", + "lastModified": 1766321686, + "narHash": "sha256-icOWbnD977HXhveirqA10zoqvErczVs3NKx8Bj+ikHY=", "owner": "simple-nixos-mailserver", "repo": "nixos-mailserver", - "rev": "b49ae46f226430854102c207fdcb55e2de8e884e", + "rev": "7d433bf89882f61621f95082e90a4ab91eb0bdd3", "type": "gitlab" }, "original": { @@ -1656,20 +1624,16 @@ }, "neovim-nightly-overlay": { "inputs": { - "flake-compat": "flake-compat_5", "flake-parts": "flake-parts_4", - "git-hooks": "git-hooks_2", - "hercules-ci-effects": "hercules-ci-effects", "neovim-src": "neovim-src", - "nixpkgs": "nixpkgs_16", - "treefmt-nix": "treefmt-nix_3" + "nixpkgs": "nixpkgs_16" }, "locked": { - "lastModified": 1756857991, - "narHash": "sha256-RCdKAApSgXHhwt7236TygtgV04qlIojySDAJXVNM1Nc=", + "lastModified": 1768262756, + "narHash": "sha256-XQkiKx2Ht/C4P4CLMPFwd2clweZ//QgQP/q7ia5l+FM=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "d18b36e17f51d0e5ff51d4e74f573c6683e496ab", + "rev": "8412b167e9c931c249f5cb41b62127aeed6543f7", "type": "github" }, "original": { @@ -1681,11 +1645,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1756837279, - "narHash": "sha256-exFuBMScGX9vjLGQ4p/uZKyDCot5xF5Ta864Dv0ys/0=", + "lastModified": 1768244281, + "narHash": "sha256-lf5o9k+rUrYhwFlvE9GPUPeni/rEGf/KXU+u58lpfh4=", "owner": "neovim", "repo": "neovim", - "rev": "431004dda2bbfe1565afcaa5117a0287317b0215", + "rev": "d2ca90d87e3246b5b827ed08f8c0dfc8ad6ae4c8", "type": "github" }, "original": { @@ -1699,16 +1663,16 @@ "niri-stable": "niri-stable", "niri-unstable": "niri-unstable", "nixpkgs": "nixpkgs_17", - "nixpkgs-stable": "nixpkgs-stable_3", + "nixpkgs-stable": "nixpkgs-stable_2", "xwayland-satellite-stable": "xwayland-satellite-stable", "xwayland-satellite-unstable": "xwayland-satellite-unstable" }, "locked": { - "lastModified": 1756801989, - "narHash": "sha256-eOIQ1CUMHwU4zsBGaCj9jCgNTxzyq2aeHuwgx0xLFwo=", + "lastModified": 1768306584, + "narHash": "sha256-GWLONqOKcsWKFYqoEIFbIv6Ti/xoSvsYC9LzZzB1oj4=", "owner": "sodiboo", "repo": "niri-flake", - "rev": "d6a98b86d86b512c6167601ea646ab785137bada", + "rev": "1b8c8ba473cf336d74ffb05ee453c8fe6a05bbbc", "type": "github" }, "original": { @@ -1725,16 +1689,15 @@ "rust-overlay": "rust-overlay_5" }, "locked": { - "lastModified": 1756761382, - "narHash": "sha256-1XIhLlAc/x9K6LXRK8yMD8G3RiHPOiVRHmWNgIFGVi0=", - "owner": "visualglitch91", + "lastModified": 1768196703, + "narHash": "sha256-mttBQdVnVFO3mn+M+oqCsZZOtS2HvXYy+VaHxb8YuMw=", + "owner": "YaLTeR", "repo": "niri", - "rev": "ceda5689ce260339ba5cb6d1da5d776f830d7c96", + "rev": "3672e79369d72297abda8878245ea4ec327062c6", "type": "github" }, "original": { - "owner": "visualglitch91", - "ref": "feat/blur", + "owner": "YaLTeR", "repo": "niri", "type": "github" } @@ -1759,11 +1722,11 @@ "niri-unstable": { "flake": false, "locked": { - "lastModified": 1756728273, - "narHash": "sha256-7tYNlNO/qVRA6shdWxNuBMYOE+pGgxqE0f54S4Wr9PE=", + "lastModified": 1768196703, + "narHash": "sha256-mttBQdVnVFO3mn+M+oqCsZZOtS2HvXYy+VaHxb8YuMw=", "owner": "YaLTeR", "repo": "niri", - "rev": "77465e11fe36fdd9bc0a304b96bb2558116568af", + "rev": "3672e79369d72297abda8878245ea4ec327062c6", "type": "github" }, "original": { @@ -1779,11 +1742,11 @@ ] }, "locked": { - "lastModified": 1755825449, - "narHash": "sha256-XkiN4NM9Xdy59h69Pc+Vg4PxkSm9EWl6u7k6D5FZ5cM=", + "lastModified": 1768220509, + "narHash": "sha256-8wMrJP/Xk5Dkm0TxzaERLt3eGFEhHTWaJKUpK3AoL4o=", "owner": "nix-darwin", "repo": "nix-darwin", - "rev": "8df64f819698c1fee0c2969696f54a843b2231e8", + "rev": "7b1d394e7d9112d4060e12ef3271b38a7c43e83b", "type": "github" }, "original": { @@ -1814,6 +1777,26 @@ "type": "github" } }, + "nix-matrix-modules": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1765214213, + "narHash": "sha256-WSk8CTdIDFFP5VMJj9beve19nPMMdTsWnkCHVXqO/3E=", + "owner": "D4ndellion", + "repo": "nixos-matrix-modules", + "rev": "82959f612ffd523a49c92f84358a9980a851747b", + "type": "github" + }, + "original": { + "owner": "D4ndellion", + "repo": "nixos-matrix-modules", + "type": "github" + } + }, "nixlib": { "locked": { "lastModified": 1736643958, @@ -1837,11 +1820,11 @@ ] }, "locked": { - "lastModified": 1751903740, - "narHash": "sha256-PeSkNMvkpEvts+9DjFiop1iT2JuBpyknmBUs0Un0a4I=", + "lastModified": 1764234087, + "narHash": "sha256-NHF7QWa0ZPT8hsJrvijREW3+nifmF2rTXgS2v0tpcEA=", "owner": "nix-community", "repo": "nixos-generators", - "rev": "032decf9db65efed428afd2fa39d80f7089085eb", + "rev": "032a1878682fafe829edfcf5fdfad635a2efe748", "type": "github" }, "original": { @@ -1852,11 +1835,11 @@ }, "nixos-stable": { "locked": { - "lastModified": 1756754095, - "narHash": "sha256-9Rsn9XEWINExosFkKEqdp8EI6Mujr1gmQiyrEcts2ls=", + "lastModified": 1767313136, + "narHash": "sha256-16KkgfdYqjaeRGBaYsNrhPRRENs0qzkQVUooNHtoy2w=", "owner": "nixos", "repo": "nixpkgs", - "rev": "7c815e513adbf03c9098b2bd230c1e0525c8a7f9", + "rev": "ac62194c3917d5f474c1a844b6fd6da2db95077d", "type": "github" }, "original": { @@ -1868,11 +1851,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1756542300, - "narHash": "sha256-tlOn88coG5fzdyqz6R93SQL5Gpq+m/DsWpekNFhqPQk=", + "lastModified": 1768127708, + "narHash": "sha256-1Sm77VfZh3mU0F5OqKABNLWxOuDeHIlcFjsXeeiPazs=", "owner": "nixos", "repo": "nixpkgs", - "rev": "d7600c775f877cd87b4f5a831c28aa94137377aa", + "rev": "ffbc9f8cbaacfb331b6017d5a5abb21a492c9a38", "type": "github" }, "original": { @@ -1882,22 +1865,6 @@ "type": "github" } }, - "nixpkgs-25_05": { - "locked": { - "lastModified": 1753749649, - "narHash": "sha256-+jkEZxs7bfOKfBIk430K+tK9IvXlwzqQQnppC2ZKFj4=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "1f08a4df998e21f4e8be8fb6fbf61d11a1a5076a", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-25.05", - "repo": "nixpkgs", - "type": "github" - } - }, "nixpkgs-lib": { "locked": { "lastModified": 1751159883, @@ -1915,23 +1882,26 @@ }, "nixpkgs-lib_2": { "locked": { - "lastModified": 1733096140, - "narHash": "sha256-1qRH7uAUsyQI7R1Uwl4T+XvdNv778H0Nb5njNrqvylY=", - "type": "tarball", - "url": "https://github.com/NixOS/nixpkgs/archive/5487e69da40cbd611ab2cadee0b4637225f7cfae.tar.gz" + "lastModified": 1761765539, + "narHash": "sha256-b0yj6kfvO8ApcSE+QmA6mUfu8IYG6/uU28OFn4PaC8M=", + "owner": "nix-community", + "repo": "nixpkgs.lib", + "rev": "719359f4562934ae99f5443f20aa06c2ffff91fc", + "type": "github" }, "original": { - "type": "tarball", - "url": "https://github.com/NixOS/nixpkgs/archive/5487e69da40cbd611ab2cadee0b4637225f7cfae.tar.gz" + "owner": "nix-community", + "repo": "nixpkgs.lib", + "type": "github" } }, "nixpkgs-lib_3": { "locked": { - "lastModified": 1753579242, - "narHash": "sha256-zvaMGVn14/Zz8hnp4VWT9xVnhc8vuL3TStRqwk22biA=", + "lastModified": 1765674936, + "narHash": "sha256-k00uTP4JNfmejrCLJOwdObYC9jHRrr/5M/a/8L2EIdo=", "owner": "nix-community", "repo": "nixpkgs.lib", - "rev": "0f36c44e01a6129be94e3ade315a5883f0228a6e", + "rev": "2075416fcb47225d9b68ac469a5c4801a9c4dd85", "type": "github" }, "original": { @@ -1966,43 +1936,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1751274312, - "narHash": "sha256-/bVBlRpECLVzjV19t5KMdMFWSwKLtb5RyXdjz3LJT+g=", + "lastModified": 1767313136, + "narHash": "sha256-16KkgfdYqjaeRGBaYsNrhPRRENs0qzkQVUooNHtoy2w=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "50ab793786d9de88ee30ec4e4c24fb4236fc2674", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-24.11", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs-stable_2": { - "locked": { - "lastModified": 1730741070, - "narHash": "sha256-edm8WG19kWozJ/GqyYx2VjW99EdhjKwbY3ZwdlPAAlo=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "d063c1dd113c91ab27959ba540c0d9753409edf3", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-24.05", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs-stable_3": { - "locked": { - "lastModified": 1756754095, - "narHash": "sha256-9Rsn9XEWINExosFkKEqdp8EI6Mujr1gmQiyrEcts2ls=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "7c815e513adbf03c9098b2bd230c1e0525c8a7f9", + "rev": "ac62194c3917d5f474c1a844b6fd6da2db95077d", "type": "github" }, "original": { @@ -2012,39 +1950,42 @@ "type": "github" } }, + "nixpkgs-stable_2": { + "locked": { + "lastModified": 1768242861, + "narHash": "sha256-F4IIxa5xDHjtrmMcayM8lHctUq1oGltfBQu2+oqDWP4=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "1327e798cb055f96f92685df444e9a2c326ab5ed", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-25.11", + "repo": "nixpkgs", + "type": "github" + } + }, "nixpkgs_10": { "locked": { - "lastModified": 1748189127, - "narHash": "sha256-zRDR+EbbeObu4V2X5QCd2Bk5eltfDlCr5yvhBwUT6pY=", - "rev": "7c43f080a7f28b2774f3b3f43234ca11661bf334", + "lastModified": 1768032153, + "narHash": "sha256-zvxtwlM8ZlulmZKyYCQAPpkm5dngSEnnHjmjV7Teloc=", + "rev": "3146c6aa9995e7351a398e17470e15305e6e18ff", "type": "tarball", - "url": "https://releases.nixos.org/nixos/25.05/nixos-25.05.802491.7c43f080a7f2/nixexprs.tar.xz" + "url": "https://releases.nixos.org/nixpkgs/nixpkgs-26.05pre925418.3146c6aa9995/nixexprs.tar.xz" }, "original": { "type": "tarball", - "url": "https://channels.nixos.org/nixos-25.05/nixexprs.tar.xz" + "url": "https://channels.nixos.org/nixpkgs-unstable/nixexprs.tar.xz" } }, "nixpkgs_11": { "locked": { - "lastModified": 1755972213, - "narHash": "sha256-VYK7aDAv8H1enXn1ECRHmGbeY6RqLnNwUJkOwloIsko=", - "rev": "73e96df7cff5783f45e21342a75a1540c4eddce4", - "type": "tarball", - "url": "https://releases.nixos.org/nixos/unstable-small/nixos-25.11pre850642.73e96df7cff5/nixexprs.tar.xz" - }, - "original": { - "type": "tarball", - "url": "https://channels.nixos.org/nixos-unstable-small/nixexprs.tar.xz" - } - }, - "nixpkgs_12": { - "locked": { - "lastModified": 1756266583, - "narHash": "sha256-cr748nSmpfvnhqSXPiCfUPxRz2FJnvf/RjJGvFfaCsM=", + "lastModified": 1767379071, + "narHash": "sha256-EgE0pxsrW9jp9YFMkHL9JMXxcqi/OoumPJYwf+Okucw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "8a6d5427d99ec71c64f0b93d45778c889005d9c2", + "rev": "fb7944c166a3b630f177938e478f0378e64ce108", "type": "github" }, "original": { @@ -2054,13 +1995,13 @@ "type": "github" } }, - "nixpkgs_13": { + "nixpkgs_12": { "locked": { - "lastModified": 1728538411, - "narHash": "sha256-f0SBJz1eZ2yOuKUr5CA9BHULGXVSn6miBuUWdTyhUhU=", + "lastModified": 1744536153, + "narHash": "sha256-awS2zRgF4uTwrOKwwiJcByDzDOdo3Q1rPZbiHQg/N38=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "b69de56fac8c2b6f8fd27f2eca01dcda8e0a4221", + "rev": "18dd725c29603f582cf1900e0d25f9f1063dbf11", "type": "github" }, "original": { @@ -2070,29 +2011,29 @@ "type": "github" } }, + "nixpkgs_13": { + "locked": { + "lastModified": 1761236834, + "narHash": "sha256-+pthv6hrL5VLW2UqPdISGuLiUZ6SnAXdd2DdUE+fV2Q=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "d5faa84122bc0a1fd5d378492efce4e289f8eac1", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, "nixpkgs_14": { "locked": { - "lastModified": 1731890469, - "narHash": "sha256-D1FNZ70NmQEwNxpSSdTXCSklBH1z2isPR84J6DQrJGs=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "5083ec887760adfe12af64830a66807423a859a7", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixpkgs-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_15": { - "locked": { - "lastModified": 1753939845, - "narHash": "sha256-K2ViRJfdVGE8tpJejs8Qpvvejks1+A4GQej/lBk5y7I=", + "lastModified": 1752480373, + "narHash": "sha256-JHQbm+OcGp32wAsXTE/FLYGNpb+4GLi5oTvCxwSoBOA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "94def634a20494ee057c76998843c015909d6311", + "rev": "62e0f05ede1da0d54515d4ea8ce9c733f12d9f08", "type": "github" }, "original": { @@ -2102,13 +2043,29 @@ "type": "github" } }, - "nixpkgs_16": { + "nixpkgs_15": { "locked": { - "lastModified": 1756819007, - "narHash": "sha256-12V64nKG/O/guxSYnr5/nq1EfqwJCdD2+cIGmhz3nrE=", + "lastModified": 1764374374, + "narHash": "sha256-naS7hg/D1yLKSZoENx9gvsPLFiNEOTcqamJSu0OEvCA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "aaff8c16d7fc04991cac6245bee1baa31f72b1e1", + "rev": "6a49303095abc094ee77dc243a9e351b642e8e75", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable-small", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_16": { + "locked": { + "lastModified": 1768178648, + "narHash": "sha256-kz/F6mhESPvU1diB7tOM3nLcBfQe7GU7GQCymRlTi/s=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "3fbab70c6e69c87ea2b6e48aa6629da2aa6a23b0", "type": "github" }, "original": { @@ -2120,11 +2077,11 @@ }, "nixpkgs_17": { "locked": { - "lastModified": 1756542300, - "narHash": "sha256-tlOn88coG5fzdyqz6R93SQL5Gpq+m/DsWpekNFhqPQk=", + "lastModified": 1768127708, + "narHash": "sha256-1Sm77VfZh3mU0F5OqKABNLWxOuDeHIlcFjsXeeiPazs=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "d7600c775f877cd87b4f5a831c28aa94137377aa", + "rev": "ffbc9f8cbaacfb331b6017d5a5abb21a492c9a38", "type": "github" }, "original": { @@ -2136,11 +2093,11 @@ }, "nixpkgs_18": { "locked": { - "lastModified": 1756542300, - "narHash": "sha256-tlOn88coG5fzdyqz6R93SQL5Gpq+m/DsWpekNFhqPQk=", + "lastModified": 1768127708, + "narHash": "sha256-1Sm77VfZh3mU0F5OqKABNLWxOuDeHIlcFjsXeeiPazs=", "owner": "nixos", "repo": "nixpkgs", - "rev": "d7600c775f877cd87b4f5a831c28aa94137377aa", + "rev": "ffbc9f8cbaacfb331b6017d5a5abb21a492c9a38", "type": "github" }, "original": { @@ -2216,11 +2173,11 @@ }, "nixpkgs_22": { "locked": { - "lastModified": 1744536153, - "narHash": "sha256-awS2zRgF4uTwrOKwwiJcByDzDOdo3Q1rPZbiHQg/N38=", + "lastModified": 1768032153, + "narHash": "sha256-6kD1MdY9fsE6FgSwdnx29hdH2UcBKs3/+JJleMShuJg=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "18dd725c29603f582cf1900e0d25f9f1063dbf11", + "rev": "3146c6aa9995e7351a398e17470e15305e6e18ff", "type": "github" }, "original": { @@ -2231,22 +2188,6 @@ } }, "nixpkgs_23": { - "locked": { - "lastModified": 1744868846, - "narHash": "sha256-5RJTdUHDmj12Qsv7XOhuospjAjATNiTMElplWnJE9Hs=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "ebe4301cbd8f81c4f8d3244b3632338bbeb6d49c", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixpkgs-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_24": { "locked": { "lastModified": 1740547748, "narHash": "sha256-Ly2fBL1LscV+KyCqPRufUBuiw+zmWrlJzpWOWbahplg=", @@ -2262,13 +2203,13 @@ "type": "github" } }, - "nixpkgs_25": { + "nixpkgs_24": { "locked": { - "lastModified": 1755615617, - "narHash": "sha256-HMwfAJBdrr8wXAkbGhtcby1zGFvs+StOp19xNsbqdOg=", + "lastModified": 1766902085, + "narHash": "sha256-coBu0ONtFzlwwVBzmjacUQwj3G+lybcZ1oeNSQkgC0M=", "owner": "nixos", "repo": "nixpkgs", - "rev": "20075955deac2583bb12f07151c2df830ef346b4", + "rev": "c0b0e0fddf73fd517c3471e546c0df87a42d53f4", "type": "github" }, "original": { @@ -2278,7 +2219,7 @@ "type": "github" } }, - "nixpkgs_26": { + "nixpkgs_25": { "locked": { "lastModified": 1719931832, "narHash": "sha256-0LD+KePCKKEb4CcPsTBOwf019wDtZJanjoKm1S8q3Do=", @@ -2310,11 +2251,11 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1756266583, - "narHash": "sha256-cr748nSmpfvnhqSXPiCfUPxRz2FJnvf/RjJGvFfaCsM=", + "lastModified": 1767116409, + "narHash": "sha256-5vKw92l1GyTnjoLzEagJy5V5mDFck72LiQWZSOnSicw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "8a6d5427d99ec71c64f0b93d45778c889005d9c2", + "rev": "cad22e7d996aea55ecab064e84834289143e44a0", "type": "github" }, "original": { @@ -2326,11 +2267,11 @@ }, "nixpkgs_5": { "locked": { - "lastModified": 1756542300, - "narHash": "sha256-tlOn88coG5fzdyqz6R93SQL5Gpq+m/DsWpekNFhqPQk=", + "lastModified": 1764950072, + "narHash": "sha256-BmPWzogsG2GsXZtlT+MTcAWeDK5hkbGRZTeZNW42fwA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "d7600c775f877cd87b4f5a831c28aa94137377aa", + "rev": "f61125a668a320878494449750330ca58b78c557", "type": "github" }, "original": { @@ -2374,11 +2315,11 @@ }, "nixpkgs_8": { "locked": { - "lastModified": 1747728033, - "narHash": "sha256-NnXFQu7g4LnvPIPfJmBuZF7LFy/fey2g2+LCzjQhTUk=", + "lastModified": 1765934234, + "narHash": "sha256-pJjWUzNnjbIAMIc5gRFUuKCDQ9S1cuh3b2hKgA7Mc4A=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "2f9173bde1d3fbf1ad26ff6d52f952f9e9da52ea", + "rev": "af84f9d270d404c17699522fab95bbf928a2d92f", "type": "github" }, "original": { @@ -2390,11 +2331,11 @@ }, "nixpkgs_9": { "locked": { - "lastModified": 1756542300, - "narHash": "sha256-tlOn88coG5fzdyqz6R93SQL5Gpq+m/DsWpekNFhqPQk=", + "lastModified": 1768127708, + "narHash": "sha256-1Sm77VfZh3mU0F5OqKABNLWxOuDeHIlcFjsXeeiPazs=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "d7600c775f877cd87b4f5a831c28aa94137377aa", + "rev": "ffbc9f8cbaacfb331b6017d5a5abb21a492c9a38", "type": "github" }, "original": { @@ -2425,7 +2366,7 @@ }, "pnpm2nix_2": { "inputs": { - "flake-utils": "flake-utils_5", + "flake-utils": "flake-utils_6", "nixpkgs": "nixpkgs_19" }, "locked": { @@ -2471,11 +2412,11 @@ ] }, "locked": { - "lastModified": 1755960406, - "narHash": "sha256-RF7j6C1TmSTK9tYWO6CdEMtg6XZaUKcvZwOCD2SICZs=", + "lastModified": 1767281941, + "narHash": "sha256-6MkqajPICgugsuZ92OMoQcgSHnD6sJHwk8AxvMcIgTE=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "e891a93b193fcaf2fc8012d890dc7f0befe86ec2", + "rev": "f0927703b7b1c8d97511c4116eb9b4ec6645a0fa", "type": "github" }, "original": { @@ -2494,15 +2435,14 @@ "nixpkgs": [ "lanzaboote", "nixpkgs" - ], - "nixpkgs-stable": "nixpkgs-stable_2" + ] }, "locked": { - "lastModified": 1731363552, - "narHash": "sha256-vFta1uHnD29VUY4HJOO/D6p6rxyObnf+InnSMT4jlMU=", + "lastModified": 1750779888, + "narHash": "sha256-wibppH3g/E2lxU43ZQHC5yA/7kIKLGxVEnsnVK1BtRg=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "cd1af27aa85026ac759d5d3fccf650abe7e1bbf0", + "rev": "16ec914f6fb6f599ce988427d9d94efddf25fe6d", "type": "github" }, "original": { @@ -2529,27 +2469,29 @@ "quickshell": { "inputs": { "nixpkgs": [ + "dms", "nixpkgs" ] }, "locked": { - "lastModified": 1756352679, - "narHash": "sha256-UkKaPXTPzT7HAcBOV4NlWx2GAEJaTf0eb5OX6Q6jPqg=", + "lastModified": 1766725085, + "narHash": "sha256-O2aMFdDUYJazFrlwL7aSIHbUSEm3ADVZjmf41uBJfHs=", "ref": "refs/heads/master", - "rev": "f7597cdae2d537c5b12843599955856090dc49d5", - "revCount": 668, + "rev": "41828c4180fb921df7992a5405f5ff05d2ac2fff", + "revCount": 715, "type": "git", - "url": "https://git.outfoxxed.me/outfoxxed/quickshell" + "url": "https://git.outfoxxed.me/quickshell/quickshell" }, "original": { + "rev": "41828c4180fb921df7992a5405f5ff05d2ac2fff", "type": "git", - "url": "https://git.outfoxxed.me/outfoxxed/quickshell" + "url": "https://git.outfoxxed.me/quickshell/quickshell" } }, "resume": { "inputs": { "nixpkgs": "nixpkgs_21", - "systems": "systems_13" + "systems": "systems_14" }, "locked": { "lastModified": 1738822577, @@ -2567,19 +2509,19 @@ }, "rio-term": { "inputs": { - "flake-parts": "flake-parts_6", + "flake-parts": "flake-parts_5", "nixpkgs": [ "nixpkgs" ], "rust-overlay": "rust-overlay_6", - "systems": "systems_14" + "systems": "systems_15" }, "locked": { - "lastModified": 1756660474, - "narHash": "sha256-1bNQXQGTfBvzbY13r+dCE5CXsvdLVpKYCnegm5TrzRc=", + "lastModified": 1768157344, + "narHash": "sha256-aqmqpQmw7amFqo2V/TKLUH+vTnUAAQ2tt4wBVPOM6Ak=", "owner": "raphamorim", "repo": "rio", - "rev": "1b5c90a33841214cefce281ed117ac11653f5213", + "rev": "203f2968ecf4b64791457b982e6e070392004dbb", "type": "github" }, "original": { @@ -2599,34 +2541,35 @@ "ciderd": "ciderd", "darwin": "darwin_2", "disko": "disko", + "dms": "dms", "emacs-overlay": "emacs-overlay", "firefox-addons": "firefox-addons", "ghostty": "ghostty", - "home-manager": "home-manager_3", + "home-manager": "home-manager_4", "hypridle": "hypridle", "hyprland": "hyprland", "kb-gui": "kb-gui", "lanzaboote": "lanzaboote", + "lazyvim": "lazyvim", "lix-module": "lix-module", "mailserver": "mailserver", "neovim-nightly-overlay": "neovim-nightly-overlay", "niri": "niri", "niri-src": "niri-src", "nix-darwin": "nix-darwin", + "nix-matrix-modules": "nix-matrix-modules", "nixos-generators": "nixos-generators", "nixos-stable": "nixos-stable", "nixpkgs": "nixpkgs_18", "pnpm2nix": "pnpm2nix_2", "posting": "posting", - "quickshell": "quickshell", "resume": "resume", "rio-term": "rio-term", - "rust-overlay": "rust-overlay_7", "snowfall-lib": "snowfall-lib", "solaar": "solaar", "sops-nix": "sops-nix", "spicetify-nix": "spicetify-nix", - "systems": "systems_18", + "systems": "systems_19", "umu": "umu", "vpn-confinement": "vpn-confinement", "waybar": "waybar", @@ -2642,11 +2585,11 @@ ] }, "locked": { - "lastModified": 1756434910, - "narHash": "sha256-5UJRyxZ8QCm+pgh5pNHXFJMmopMqHVraUhRA1g2AmA0=", + "lastModified": 1765075567, + "narHash": "sha256-KFDCdQcHJ0hE3Nt5Gm5enRIhmtEifAjpxgUQ3mzSJpA=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "86e5140961c91a9ee1dde1c17d18a787d44ceef8", + "rev": "769156779b41e8787a46ca3d7d76443aaf68be6f", "type": "github" }, "original": { @@ -2675,14 +2618,14 @@ }, "rust-overlay_3": { "inputs": { - "nixpkgs": "nixpkgs_13" + "nixpkgs": "nixpkgs_12" }, "locked": { - "lastModified": 1733279627, - "narHash": "sha256-NCNDAGPkdFdu+DLErbmNbavmVW9AwkgP7azROFFSB0U=", + "lastModified": 1762396738, + "narHash": "sha256-BarSecuxtzp1boERdABLkkoxQTi6s/V33lJwUbWLrLY=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "4da5a80ef76039e80468c902f1e9f5c0eab87d96", + "rev": "c63598992afd54d215d54f2b764adc0484c2b159", "type": "github" }, "original": { @@ -2699,11 +2642,11 @@ ] }, "locked": { - "lastModified": 1731897198, - "narHash": "sha256-Ou7vLETSKwmE/HRQz4cImXXJBr/k9gp4J4z/PF8LzTE=", + "lastModified": 1761791894, + "narHash": "sha256-myRIDh+PxaREz+z9LzbqBJF+SnTFJwkthKDX9zMyddY=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "0be641045af6d8666c11c2c40e45ffc9667839b5", + "rev": "59c45eb69d9222a4362673141e00ff77842cd219", "type": "github" }, "original": { @@ -2720,11 +2663,11 @@ ] }, "locked": { - "lastModified": 1752374969, - "narHash": "sha256-Ky3ynEkJXih7mvWyt9DWoiSiZGqPeHLU1tlBU4b0mcc=", + "lastModified": 1757989933, + "narHash": "sha256-9cpKYWWPCFhgwQTww8S94rTXgg8Q8ydFv9fXM6I8xQM=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "75fb000638e6d0f57cb1e8b7a4550cbdd8c76f1d", + "rev": "8249aa3442fb9b45e615a35f39eca2fe5510d7c3", "type": "github" }, "original": { @@ -2734,35 +2677,18 @@ } }, "rust-overlay_6": { - "inputs": { - "nixpkgs": "nixpkgs_22" - }, - "locked": { - "lastModified": 1756521112, - "narHash": "sha256-/YW9DI+vZ2lbTvYAek6BsudUXdpWr0FybTDod4P42L4=", - "owner": "oxalica", - "repo": "rust-overlay", - "rev": "2243e3f251ea18486f83133cf8e325d2b9b71e89", - "type": "github" - }, - "original": { - "owner": "oxalica", - "repo": "rust-overlay", - "type": "github" - } - }, - "rust-overlay_7": { "inputs": { "nixpkgs": [ + "rio-term", "nixpkgs" ] }, "locked": { - "lastModified": 1756780571, - "narHash": "sha256-xX0B7Sgx3OQvf6anaNW0vXyYDXbchSx2mnT8rqAPbWA=", + "lastModified": 1768012928, + "narHash": "sha256-HFFVQaux1JoOjEvgBT0ASk1Je+jsipyO5c91FoLMed8=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "2c18db2acc837a71146ed2d6dae27bf03e3b7a4b", + "rev": "312b4371e72f644ffcff25b23615195e3b390643", "type": "github" }, "original": { @@ -2773,18 +2699,18 @@ }, "snowfall-lib": { "inputs": { - "flake-compat": "flake-compat_7", + "flake-compat": "flake-compat_5", "flake-utils-plus": "flake-utils-plus", "nixpkgs": [ "nixpkgs" ] }, "locked": { - "lastModified": 1736130495, - "narHash": "sha256-4i9nAJEZFv7vZMmrE0YG55I3Ggrtfo5/T07JEpEZ/RM=", + "lastModified": 1765361626, + "narHash": "sha256-kX0Dp/kYSRbQ+yd9e3lmmUWdNbipufvKfL2IzbrSpnY=", "owner": "snowfallorg", "repo": "lib", - "rev": "02d941739f98a09e81f3d2d9b3ab08918958beac", + "rev": "c566ad8b7352c30ec3763435de7c8f1c46ebb357", "type": "github" }, "original": { @@ -2793,44 +2719,19 @@ "type": "github" } }, - "snowfall-lib_2": { - "inputs": { - "flake-compat": "flake-compat_9", - "flake-utils-plus": "flake-utils-plus_2", - "nixpkgs": [ - "solaar", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1718097323, - "narHash": "sha256-zCgs8Wp7rdt0tjNUHMUIvi6sIvDoprWIHwvTGq+LMK0=", - "owner": "snowfallorg", - "repo": "lib", - "rev": "aa19b02b63025263cec041fcb7a0857c3cb98859", - "type": "github" - }, - "original": { - "owner": "snowfallorg", - "ref": "v3.0.3", - "repo": "lib", - "type": "github" - } - }, "solaar": { "inputs": { - "flake-compat": "flake-compat_8", "nixpkgs": [ "nixpkgs" ], - "snowfall-lib": "snowfall-lib_2" + "utils": "utils_2" }, "locked": { - "lastModified": 1751535505, - "narHash": "sha256-MOFgDU5wtIe96/dBfjWHDuV372+jGq5IBB/3km0yBr0=", + "lastModified": 1767894877, + "narHash": "sha256-DB9vEEnEYilGUaHCljMRzT1embzD7uEjJugzRJgiLos=", "owner": "Svenum", "repo": "Solaar-Flake", - "rev": "b6668450e18e3f788855fc5f54a84861ec3ffee9", + "rev": "f5cac914bdeeecac7fca07e99c8fee18336f5bd5", "type": "github" }, "original": { @@ -2842,14 +2743,14 @@ }, "sops-nix": { "inputs": { - "nixpkgs": "nixpkgs_23" + "nixpkgs": "nixpkgs_22" }, "locked": { - "lastModified": 1754988908, - "narHash": "sha256-t+voe2961vCgrzPFtZxha0/kmFSHFobzF00sT8p9h0U=", + "lastModified": 1768271704, + "narHash": "sha256-jJqlW8A3OZ5tYbXphF7U8P8g/3Cn8PPwPa4YlJ/9agg=", "owner": "Mic92", "repo": "sops-nix", - "rev": "3223c7a92724b5d804e9988c6b447a0d09017d48", + "rev": "691b8b6713855d0fe463993867291c158472fc6f", "type": "github" }, "original": { @@ -2863,14 +2764,14 @@ "nixpkgs": [ "nixpkgs" ], - "systems": "systems_17" + "systems": "systems_18" }, "locked": { - "lastModified": 1756614537, - "narHash": "sha256-qyszmZO9CEKAlj5NBQo1AIIADm5Fgqs5ZggW1sU1TVo=", + "lastModified": 1768107098, + "narHash": "sha256-mSthw4k7jkB5S8+NYZwrQFItLj+17Se7Wn0pIfdASbc=", "owner": "Gerg-L", "repo": "spicetify-nix", - "rev": "374eb5d97092b97f7aaafd58a2012943b388c0df", + "rev": "2e40e07527f9d724b1578f0af590ab345e836ec3", "type": "github" }, "original": { @@ -2955,7 +2856,6 @@ } }, "systems_14": { - "flake": false, "locked": { "lastModified": 1681028828, "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", @@ -3075,6 +2975,21 @@ "type": "github" } }, + "systems_21": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, "systems_3": { "locked": { "lastModified": 1681028828, @@ -3200,35 +3115,14 @@ }, "treefmt-nix_2": { "inputs": { - "nixpkgs": "nixpkgs_14" + "nixpkgs": "nixpkgs_13" }, "locked": { - "lastModified": 1733222881, - "narHash": "sha256-JIPcz1PrpXUCbaccEnrcUS8jjEb/1vJbZz5KkobyFdM=", + "lastModified": 1762410071, + "narHash": "sha256-aF5fvoZeoXNPxT0bejFUBXeUjXfHLSL7g+mjR/p5TEg=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "49717b5af6f80172275d47a418c9719a31a78b53", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "treefmt-nix", - "type": "github" - } - }, - "treefmt-nix_3": { - "inputs": { - "nixpkgs": [ - "neovim-nightly-overlay", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1756662192, - "narHash": "sha256-F1oFfV51AE259I85av+MAia221XwMHCOtZCMcZLK2Jk=", - "owner": "numtide", - "repo": "treefmt-nix", - "rev": "1aabc6c05ccbcbf4a635fb7a90400e44282f61c4", + "rev": "97a30861b13c3731a84e09405414398fbf3e109f", "type": "github" }, "original": { @@ -3239,15 +3133,15 @@ }, "umu": { "inputs": { - "nixpkgs": "nixpkgs_24" + "nixpkgs": "nixpkgs_23" }, "locked": { "dir": "packaging/nix", - "lastModified": 1755559562, - "narHash": "sha256-fo8fHN3UWh4ynqyuCF8/4rDoMwYJgNqZvwgcBDIh11w=", + "lastModified": 1765757739, + "narHash": "sha256-mFur6BsNkJm4tH0O4lkOaCVtZnEeNlw9xDkZUSnzHIU=", "owner": "Open-Wine-Components", "repo": "umu-launcher", - "rev": "9e720e433b81fff936373b47b710f4481436010c", + "rev": "bb5c870fe076e21fe60cb652b57365022fbfd77a", "type": "github" }, "original": { @@ -3259,7 +3153,7 @@ }, "utils": { "inputs": { - "systems": "systems_12" + "systems": "systems_13" }, "locked": { "lastModified": 1726560853, @@ -3275,13 +3169,32 @@ "type": "github" } }, + "utils_2": { + "inputs": { + "flake-utils": "flake-utils_8" + }, + "locked": { + "lastModified": 1738591040, + "narHash": "sha256-4WNeriUToshQ/L5J+dTSWC5OJIwT39SEP7V7oylndi8=", + "owner": "gytis-ivaskevicius", + "repo": "flake-utils-plus", + "rev": "afcb15b845e74ac5e998358709b2b5fe42a948d1", + "type": "github" + }, + "original": { + "owner": "gytis-ivaskevicius", + "repo": "flake-utils-plus", + "rev": "afcb15b845e74ac5e998358709b2b5fe42a948d1", + "type": "github" + } + }, "vpn-confinement": { "locked": { - "lastModified": 1749672087, - "narHash": "sha256-j8LG0s0QcvNkZZLcItl78lvTZemvsScir0dG3Ii4B1c=", + "lastModified": 1767604552, + "narHash": "sha256-FddhMxnc99KYOZ/S3YNqtDSoxisIhVtJ7L4s8XD2u0A=", "owner": "Maroka-chan", "repo": "VPN-Confinement", - "rev": "880b3bd2c864dce4f6afc79f6580ca699294c011", + "rev": "a6b2da727853886876fd1081d6bb2880752937f3", "type": "github" }, "original": { @@ -3292,17 +3205,17 @@ }, "waybar": { "inputs": { - "flake-compat": "flake-compat_10", + "flake-compat": "flake-compat_6", "nixpkgs": [ "nixpkgs" ] }, "locked": { - "lastModified": 1754637322, - "narHash": "sha256-mGiBZjfvtZZkSHrha4UF2l1Ogbij8J//r2h4gcZAJ6w=", + "lastModified": 1767985335, + "narHash": "sha256-JDeI7oyjibtX7FKQYMCBP6l0Q2aSdSephIb74X6tASM=", "owner": "Alexays", "repo": "Waybar", - "rev": "41de8964f1e3278edf07902ad68ca5e01e7abeeb", + "rev": "a02180a815b651f1bc08a359f23241c941bfafed", "type": "github" }, "original": { @@ -3339,11 +3252,11 @@ ] }, "locked": { - "lastModified": 1755354946, - "narHash": "sha256-zdov5f/GcoLQc9qYIS1dUTqtJMeDqmBmo59PAxze6e4=", + "lastModified": 1761431178, + "narHash": "sha256-xzjC1CV3+wpUQKNF+GnadnkeGUCJX+vgaWIZsnz9tzI=", "owner": "hyprwm", "repo": "xdg-desktop-portal-hyprland", - "rev": "a10726d6a8d0ef1a0c645378f983b6278c42eaa0", + "rev": "4b8801228ff958d028f588f0c2b911dbf32297f9", "type": "github" }, "original": { @@ -3372,11 +3285,11 @@ "xwayland-satellite-unstable": { "flake": false, "locked": { - "lastModified": 1756679414, - "narHash": "sha256-yQGJ/n6mRwoIQnaL5oV2TGOHg4SEHpINTaoHrvkjr1Q=", + "lastModified": 1768106915, + "narHash": "sha256-HlLo9zH4ULRXlmlIK948cHmdVhxyHgTHxGaoCRlW4k8=", "owner": "Supreeeme", "repo": "xwayland-satellite", - "rev": "c0497c990d46fcc012d9deff885bbe533e91e044", + "rev": "72245e108f3b03c3c4474d2de9de2d1830849603", "type": "github" }, "original": { @@ -3387,15 +3300,15 @@ }, "zen-browser": { "inputs": { - "home-manager": "home-manager_4", - "nixpkgs": "nixpkgs_25" + "home-manager": "home-manager_5", + "nixpkgs": "nixpkgs_24" }, "locked": { - "lastModified": 1756840469, - "narHash": "sha256-TtOazKYiRtYEEKnLmeBihr/E+PN1xdT/to1NPNsoxQQ=", + "lastModified": 1768279254, + "narHash": "sha256-D4+/DD5/dhSihHxbSJnY9hi/3QiYnfqWT29ZpQRf1xw=", "owner": "0xc000022070", "repo": "zen-browser-flake", - "rev": "0532bd5938efddca7d9462778ba7989b3734f965", + "rev": "e862bd9ebbcd3265f1da6d1bdfe37d8732029d08", "type": "github" }, "original": { @@ -3420,11 +3333,11 @@ ] }, "locked": { - "lastModified": 1748261582, - "narHash": "sha256-3i0IL3s18hdDlbsf0/E+5kyPRkZwGPbSFngq5eToiAA=", + "lastModified": 1763295135, + "narHash": "sha256-sGv/NHCmEnJivguGwB5w8LRmVqr1P72OjS+NzcJsssE=", "owner": "mitchellh", "repo": "zig-overlay", - "rev": "aafb1b093fb838f7a02613b719e85ec912914221", + "rev": "64f8b42cfc615b2cf99144adf2b7728c7847c72a", "type": "github" }, "original": { @@ -3435,20 +3348,20 @@ }, "zoeycomputer": { "inputs": { - "flake-parts": "flake-parts_7", + "flake-parts": "flake-parts_6", "lexical": "lexical", "nixpkgs": [ "nixpkgs" ], "process-compose-flake": "process-compose-flake", - "systems": "systems_20" + "systems": "systems_21" }, "locked": { - "lastModified": 1731607548, - "narHash": "sha256-a0xLkdgQ4TIJVtY8fXnidtmsqlg63V9YYM7Hf32m7pk=", + "lastModified": 1762532307, + "narHash": "sha256-oXTQEIkvEzVRzsXVwubyVKJlD7C87d++FmJ5zIkV7o4=", "ref": "refs/heads/main", - "rev": "49677f2d9b2cb94c36fe7a9df2bd5e9a8c00b94f", - "revCount": 75, + "rev": "ee959326475cb1fb9d6488a9b31c0ac205d8bbe0", + "revCount": 76, "type": "git", "url": "https://code.zoeys.cloud/zoey/zoeys.computer.git" }, @@ -3459,24 +3372,23 @@ }, "zon2nix": { "inputs": { - "flake-utils": [ + "nixpkgs": [ "ghostty", - "flake-utils" - ], - "nixpkgs": "nixpkgs_11" + "nixpkgs" + ] }, "locked": { - "lastModified": 1756000480, - "narHash": "sha256-fR5pdcjO0II5MNdCzqvyokyuFkmff7/FyBAjUS6sMfA=", + "lastModified": 1768231828, + "narHash": "sha256-wL/8Iij4T2OLkhHcc4NieOjf7YeJffaUYbCiCqKv/+0=", "owner": "jcollie", "repo": "zon2nix", - "rev": "d9dc9ef1ab9ae45b5c9d80c6a747cc9968ee0c60", + "rev": "c28e93f3ba133d4c1b1d65224e2eebede61fd071", "type": "github" }, "original": { "owner": "jcollie", "repo": "zon2nix", - "rev": "d9dc9ef1ab9ae45b5c9d80c6a747cc9968ee0c60", + "rev": "c28e93f3ba133d4c1b1d65224e2eebede61fd071", "type": "github" } } diff --git a/flake.nix b/flake.nix index df8bc1b..76d4b68 100644 --- a/flake.nix +++ b/flake.nix @@ -47,6 +47,12 @@ pnpm2nix.url = "github:nzbr/pnpm2nix-nzbr"; + dms.url = "github:AvengeMedia/DankMaterialShell"; + dms.inputs.nixpkgs.follows = "nixpkgs"; + + nix-matrix-modules.url = "github:D4ndellion/nixos-matrix-modules"; + nix-matrix-modules.inputs.nixpkgs.follows = "nixpkgs"; + solaar = { url = "github:Svenum/Solaar-Flake/main"; # Uncomment line for latest unstable version inputs.nixpkgs.follows = "nixpkgs"; @@ -60,7 +66,7 @@ blog.url = "git+https://code.zoeys.cloud/zoey/web.git"; lanzaboote = { - url = "github:nix-community/lanzaboote/v0.4.2"; + url = "github:nix-community/lanzaboote/v0.4.3"; # Optional but recommended to limit the size of your system closure. inputs.nixpkgs.follows = "nixpkgs"; @@ -133,29 +139,19 @@ inputs.nixpkgs.follows = "nixpkgs"; }; - rust-overlay = { - url = "github:oxalica/rust-overlay"; - inputs.nixpkgs.follows = "nixpkgs"; - }; - disko.url = "github:nix-community/disko"; disko.inputs.nixpkgs.follows = "nixpkgs"; - # niri-src.url = "github:YaLTeR/niri"; - # niri-src.inputs.nixpkgs.follows = "nixpkgs"; - - niri-src.url = "github:visualglitch91/niri/feat/blur"; + niri-src.url = "github:YaLTeR/niri"; niri-src.inputs.nixpkgs.follows = "nixpkgs"; - quickshell = { - url = "git+https://git.outfoxxed.me/outfoxxed/quickshell"; - - inputs.nixpkgs.follows = "nixpkgs"; - }; + # niri-src.url = "github:visualglitch91/niri/feat/blur"; + # niri-src.inputs.nixpkgs.follows = "nixpkgs"; niri.url = "github:sodiboo/niri-flake"; chaotic.url = "github:chaotic-cx/nyx"; + lazyvim.url = "github:pfassina/lazyvim-nix"; vpn-confinement.url = "github:Maroka-chan/VPN-Confinement"; }; @@ -166,22 +162,22 @@ src = ./.; overlays = with inputs; [ - rust-overlay.overlays.default + # rust-overlay.overlays.default (final: prev: { ghostty = ghostty.packages."x86_64-linux".default; }) - (final: prev: { - shadps4 = prev.shadps4.overrideAttrs { - src = prev.fetchFromGitHub { - owner = "shadps4-emu"; - repo = "shadPS4"; - rev = "41b39428335025e65f9e707ed8d5a9a1b09ba942"; - hash = "sha256-5oe2By8TjJJIVubkp5lzqx2slBR7hxIHV4wZLgRYKl8="; - fetchSubmodules = true; - }; - patches = []; - }; - }) + # (final: prev: { + # shadps4 = prev.shadps4.overrideAttrs { + # src = prev.fetchFromGitHub { + # owner = "shadps4-emu"; + # repo = "shadPS4"; + # rev = "41b39428335025e65f9e707ed8d5a9a1b09ba942"; + # hash = "sha256-5oe2By8TjJJIVubkp5lzqx2slBR7hxIHV4wZLgRYKl8="; + # fetchSubmodules = true; + # }; + # patches = []; + # }; + # }) niri.overlays.niri ]; @@ -200,6 +196,9 @@ spicetify-nix.homeManagerModules.default catppuccin.homeModules.default ags.homeManagerModules.default + dms.homeModules.dankMaterialShell.default + dms.homeModules.dankMaterialShell.niri + lazyvim.homeManagerModules.default ]; systems.modules.nixos = with inputs; [ @@ -215,7 +214,7 @@ disko.nixosModules.disko niri.nixosModules.niri chaotic.nixosModules.default - + nix-matrix-modules.nixosModules.default vpn-confinement.nixosModules.default ]; diff --git a/homes/x86_64-linux/aspect@pluto/default.nix b/homes/x86_64-linux/aspect@pluto/default.nix index 7f23280..07ecf15 100644 --- a/homes/x86_64-linux/aspect@pluto/default.nix +++ b/homes/x86_64-linux/aspect@pluto/default.nix @@ -53,12 +53,10 @@ programs.cava = { enable = true; - catppuccin.enable = true; }; programs.btop = { enable = true; - catppuccin.enable = true; extraConfig = '' update_ms = 100 vim_keys = true @@ -67,11 +65,9 @@ programs.lazygit = { enable = true; - catppuccin.enable = true; }; programs.fzf = { enable = true; - catppuccin.enable = true; }; } diff --git a/homes/x86_64-linux/zack@pluto/default.nix b/homes/x86_64-linux/zack@pluto/default.nix index 0d117f0..3246fc9 100644 --- a/homes/x86_64-linux/zack@pluto/default.nix +++ b/homes/x86_64-linux/zack@pluto/default.nix @@ -52,12 +52,10 @@ programs.cava = { enable = true; - catppuccin.enable = true; }; programs.btop = { enable = true; - catppuccin.enable = true; extraConfig = '' update_ms = 100 vim_keys = true @@ -66,11 +64,9 @@ programs.lazygit = { enable = true; - catppuccin.enable = true; }; programs.fzf = { enable = true; - catppuccin.enable = true; }; } diff --git a/homes/x86_64-linux/zoey@earth/default.nix b/homes/x86_64-linux/zoey@earth/default.nix index 651bab9..ce16dd2 100644 --- a/homes/x86_64-linux/zoey@earth/default.nix +++ b/homes/x86_64-linux/zoey@earth/default.nix @@ -7,6 +7,7 @@ }: { wms.hyprland.enable = false; wms.niri.enable = true; + apps = { web.librewolf.enable = true; web.librewolf.setDefault = true; @@ -29,14 +30,13 @@ term.alacritty.enable = true; term.ghostty.enable = true; - music.spotify.enable = true; video.mpv.enable = true; mail.aerc.enable = true; helpers = { - waybar.enable = true; - swaync.enable = true; + waybar.enable = false; + swaync.enable = false; }; }; @@ -62,13 +62,37 @@ }; }; - programs.distrobox = { - enable = true; - containers = { - proton-tkg = { - image = "archlinux"; - additional_packages = "build-essential git"; - }; + catppuccin.vivid.enable = false; + + programs = { + dankMaterialShell = { + enable = true; + + niri.enableKeybinds = true; + systemd.enable = true; + + enableCalendarEvents = true; + enableDynamicTheming = true; + enableSystemMonitoring = true; + enableAudioWavelength = true; + }; + }; + + systemd.user.services.polkit-gnome-authentication-agent-1 = { + Unit = { + Description = "polkit-gnome-authentication-agent-1"; + Wants = ["graphical-session.target"]; + After = ["graphical-session.target"]; + }; + Install = { + WantedBy = ["graphical-session.target"]; + }; + Service = { + Type = "simple"; + ExecStart = "${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1"; + Restart = "on-failure"; + RestartSec = 1; + TimeoutStopSec = 10; }; }; @@ -154,10 +178,13 @@ awscli2 monero-cli + tidal-hifi + pandoc cider-2 feather + prismlauncher qt6Packages.qt5compat libsForQt5.qt5.qtgraphicaleffects @@ -185,8 +212,6 @@ heroic cartridges - custom.nvidia-nsight - custom.enc neural-amp-modeler-lv2 @@ -236,7 +261,7 @@ starfetch lib.custom.nixos-stable.kiwix - mpc-cli + mpc zathura gpgme.dev @@ -254,7 +279,7 @@ man-pages man-pages-posix - ardour + devenv ]; programs.thunderbird = { @@ -324,7 +349,7 @@ services = { gpg-agent = { enable = true; - pinentryPackage = lib.mkForce pkgs.pinentry-gnome3; + pinentry.package = lib.mkForce pkgs.pinentry-gnome3; enableSshSupport = true; enableZshIntegration = true; enableFishIntegration = true; diff --git a/homes/x86_64-linux/zoey@pluto/default.nix b/homes/x86_64-linux/zoey@pluto/default.nix index 392df33..45f81b3 100644 --- a/homes/x86_64-linux/zoey@pluto/default.nix +++ b/homes/x86_64-linux/zoey@pluto/default.nix @@ -52,12 +52,10 @@ programs.cava = { enable = true; - catppuccin.enable = true; }; programs.btop = { enable = true; - catppuccin.enable = true; extraConfig = '' update_ms = 100 vim_keys = true @@ -66,11 +64,9 @@ programs.lazygit = { enable = true; - catppuccin.enable = true; }; programs.fzf = { enable = true; - catppuccin.enable = true; }; } diff --git a/homes/x86_64-linux/zoey@venus/default.nix b/homes/x86_64-linux/zoey@venus/default.nix index 2a2a6c5..5d7ee0b 100644 --- a/homes/x86_64-linux/zoey@venus/default.nix +++ b/homes/x86_64-linux/zoey@venus/default.nix @@ -50,22 +50,22 @@ options = ["--cmd cd"]; }; + catppuccin.btop.enable = true; programs.btop = { enable = true; - catppuccin.enable = true; extraConfig = '' update_ms = 100 vim_keys = true ''; }; + catppuccin.lazygit.enable = true; programs.lazygit = { enable = true; - catppuccin.enable = true; }; + catppuccin.fzf.enable = true; programs.fzf = { enable = true; - catppuccin.enable = true; }; } diff --git a/modules/home/apps/helpers/waybar/default.nix b/modules/home/apps/helpers/waybar/default.nix index bf85926..7033023 100644 --- a/modules/home/apps/helpers/waybar/default.nix +++ b/modules/home/apps/helpers/waybar/default.nix @@ -81,7 +81,7 @@ in { passthrough = false; "fixed-center" = true; "modules-left" = ["hyprland/workspaces" "hyprland/window" "niri/workspaces" "niri/window" "network#speed" "custom/cava-system" "custom/cava-tt"]; - "modules-center" = ["custom/spotify"]; + "modules-center" = ["mpris"]; "modules-right" = [ "cpu" "memory" @@ -99,15 +99,6 @@ in { "custom/power" ]; - "custom/spotify" = { - format = "{}"; - "return-type" = "json"; - "on-click" = "${lib.getExe inputs.ciderd.packages.${pkgs.system}.default} play-pause"; - "on-click-right" = "${lib.getExe inputs.ciderd.packages.${pkgs.system}.default} like"; - "on-click-middle" = "${lib.getExe inputs.ciderd.packages.${pkgs.system}.default} skip"; - exec = "${lib.getExe inputs.ciderd.packages.${pkgs.system}.default} monitor"; - }; - "custom/mullvad" = { format = "{}"; return-type = "json"; @@ -145,7 +136,7 @@ in { }; mpris = { - player = "spotify"; + player = "chromium"; "dynamic-order" = ["artist" "title"]; format = "{player_icon} {dynamic}"; "format-paused" = "{status_icon} {dynamic}"; diff --git a/modules/home/apps/term/alacritty/default.nix b/modules/home/apps/term/alacritty/default.nix index 51b4255..b3addd7 100644 --- a/modules/home/apps/term/alacritty/default.nix +++ b/modules/home/apps/term/alacritty/default.nix @@ -66,9 +66,10 @@ in { }; config = mkIf cfg.enable { + catppuccin.alacritty.enable = true; + programs.alacritty = { enable = true; - catppuccin.enable = true; settings = { colors = { diff --git a/modules/home/apps/term/kitty/default.nix b/modules/home/apps/term/kitty/default.nix index 5850db6..8bfacf3 100644 --- a/modules/home/apps/term/kitty/default.nix +++ b/modules/home/apps/term/kitty/default.nix @@ -14,20 +14,20 @@ in { }; config = mkIf cfg.enable { + catppuccin.kitty.enable = true; + programs.kitty = { enable = true; extraConfig = '' - font_family family='Berkeley Mono' style='Regular ExtraCondensed' - bold_font family='Berkeley Mono' style='Retina ExtraCondensed' - italic_font family='Berkeley Mono' style='Regular ExtraCondensed' - bold_italic_font family='Berkeley Mono' style='Retina ExtraCondensed' + font_family family='Berkeley Mono' style='Retina ExtraCondensed' + bold_font family='Berkeley Mono' style='SemiBold ExtraCondensed' + italic_font family='Berkeley Mono' style='Retina ExtraCondensed' + bold_italic_font family='Berkeley Mono' style='SemiBold ExtraCondensed' ''; - catppuccin.enable = true; - settings = { window_padding_width = 20; - background_opacity = "0.9"; + # background_opacity = "0.9"; font_hinting = "slight"; diff --git a/modules/home/apps/tools/bat/default.nix b/modules/home/apps/tools/bat/default.nix index af2aafd..f5b85b0 100644 --- a/modules/home/apps/tools/bat/default.nix +++ b/modules/home/apps/tools/bat/default.nix @@ -14,11 +14,11 @@ in { }; config = mkIf cfg.enable { + catppuccin.bat.enable = true; + programs.bat = { enable = true; - catppuccin.enable = true; - config = { pager = "less -FR"; }; diff --git a/modules/home/apps/tools/git/default.nix b/modules/home/apps/tools/git/default.nix index 840b077..b8d0bbd 100644 --- a/modules/home/apps/tools/git/default.nix +++ b/modules/home/apps/tools/git/default.nix @@ -17,11 +17,18 @@ in { }; config = mkIf cfg.enable { - home.packages = with pkgs; [zsh-forgit gitflow]; + home.packages = with pkgs; [ + zsh-forgit + gitflow + ]; + + programs.delta = { + enable = true; + enableGitIntegration = true; + }; + programs.git = { enable = true; - userName = "zack"; - userEmail = "hi@zoeys.computer"; ignores = [ ".cache/" ".DS_Store" @@ -38,8 +45,15 @@ in { key = cfg.signingKey; signByDefault = cfg.signByDefault; }; - extraConfig = { - init = {defaultBranch = "main";}; + lfs.enable = true; + settings = { + user = { + name = "zack"; + email = "hi@zoeys.computer"; + }; + init = { + defaultBranch = "main"; + }; delta = { options.map-styles = "bold purple => syntax #ca9ee6, bold cyan => syntax #8caaee"; line-numbers = true; @@ -64,34 +78,30 @@ in { smtpencryption = "ssl"; smtpserverport = 465; }; - }; - lfs.enable = true; - delta.enable = true; - aliases = { - essa = "push --force"; - co = "checkout"; - fuck = "commit --amend -m"; - c = "commit -m"; - ca = "commit -am"; - forgor = "commit --amend --no-edit"; - graph = "log --all --decorate --graph --oneline"; - oops = "checkout --"; - l = "log"; - r = "rebase"; - s = "status --short"; - ss = "status"; - d = "diff"; - ps = "!git push origin $(git rev-parse --abbrev-ref HEAD)"; - pl = "!git pull origin $(git rev-parse --abbrev-ref HEAD)"; - af = "!git add $(git ls-files -m -o --exclude-standard | sk -m)"; - st = "status"; - br = "branch"; - df = "!git hist | peco | awk '{print $2}' | xargs -I {} git diff {}^ {}"; - hist = '' - log --pretty=format:"%Cgreen%h %Creset%cd %Cblue[%cn] %Creset%s%C(yellow)%d%C(reset)" --graph --date=relative --decorate --all''; - llog = '' - log --graph --name-status --pretty=format:"%C(red)%h %C(reset)(%cd) %C(green)%an %Creset%s %C(yellow)%d%Creset" --date=relative''; - edit-unmerged = "!f() { git ls-files --unmerged | cut -f2 | sort -u ; }; hx `f`"; + alias = { + essa = "push --force"; + co = "checkout"; + fuck = "commit --amend -m"; + c = "commit -m"; + ca = "commit -am"; + forgor = "commit --amend --no-edit"; + graph = "log --all --decorate --graph --oneline"; + oops = "checkout --"; + l = "log"; + r = "rebase"; + s = "status --short"; + ss = "status"; + d = "diff"; + ps = "!git push origin $(git rev-parse --abbrev-ref HEAD)"; + pl = "!git pull origin $(git rev-parse --abbrev-ref HEAD)"; + af = "!git add $(git ls-files -m -o --exclude-standard | sk -m)"; + st = "status"; + br = "branch"; + df = "!git hist | peco | awk '{print $2}' | xargs -I {} git diff {}^ {}"; + hist = ''log --pretty=format:"%Cgreen%h %Creset%cd %Cblue[%cn] %Creset%s%C(yellow)%d%C(reset)" --graph --date=relative --decorate --all''; + llog = ''log --graph --name-status --pretty=format:"%C(red)%h %C(reset)(%cd) %C(green)%an %Creset%s %C(yellow)%d%Creset" --date=relative''; + edit-unmerged = "!f() { git ls-files --unmerged | cut -f2 | sort -u ; }; hx `f`"; + }; }; }; }; diff --git a/modules/home/apps/tools/neovim/config/lazyvim.json b/modules/home/apps/tools/neovim/config/lazyvim.json index a3d5116..fc41eb3 100644 --- a/modules/home/apps/tools/neovim/config/lazyvim.json +++ b/modules/home/apps/tools/neovim/config/lazyvim.json @@ -14,6 +14,7 @@ "lazyvim.plugins.extras.lang.svelte", "lazyvim.plugins.extras.lang.tailwind", "lazyvim.plugins.extras.lang.go", + "lazyvim.plugins.extras.lang.php", "lazyvim.plugins.extras.lang.typescript", "lazyvim.plugins.extras.test.core", "lazyvim.plugins.extras.util.rest", diff --git a/modules/home/apps/tools/neovim/config/lua/config/options.lua b/modules/home/apps/tools/neovim/config/lua/config/options.lua index 2dbae62..65f576b 100644 --- a/modules/home/apps/tools/neovim/config/lua/config/options.lua +++ b/modules/home/apps/tools/neovim/config/lua/config/options.lua @@ -3,12 +3,9 @@ -- Add any additional options here if vim.g.neovide then - -- Put anything you want to happen only in Neovide here vim.o.guifont = "Iosevka,Noto_Color_Emoji:h14:b" end --- in this case. -vim.g.lazyvim_blink_main = true vim.g.snacks_animate = false vim.o.termguicolors = true @@ -18,7 +15,6 @@ vim.diagnostic.config({ float = { border = "none" }, }) --- Use crisp single-line borders in LSP handlers local border = "none" local handlers = vim.lsp.handlers handlers["textDocument/hover"] = vim.lsp.with(handlers.hover, { border = border }) diff --git a/modules/home/apps/tools/neovim/config/lua/plugins/core.lua b/modules/home/apps/tools/neovim/config/lua/plugins/core.lua index e9e6514..cc616aa 100644 --- a/modules/home/apps/tools/neovim/config/lua/plugins/core.lua +++ b/modules/home/apps/tools/neovim/config/lua/plugins/core.lua @@ -2,17 +2,13 @@ return { { "LazyVim/LazyVim", opts = { - colorscheme = "catppuccin-mocha", + colorscheme = "catppuccin", news = { lazyvim = false }, }, }, { "catppuccin", opts = function(_, opts) - local module = require("catppuccin.groups.integrations.bufferline") - if module then - module.get = module.get_theme - end opts.transparent_background = true opts.flavour = "mocha" opts.no_bold = true diff --git a/modules/home/apps/tools/neovim/config/lua/plugins/mini.ai.lua b/modules/home/apps/tools/neovim/config/lua/plugins/mini.ai.lua index f2f079f..0013854 100644 --- a/modules/home/apps/tools/neovim/config/lua/plugins/mini.ai.lua +++ b/modules/home/apps/tools/neovim/config/lua/plugins/mini.ai.lua @@ -1,4 +1,4 @@ return { - "echasnovski/mini.ai", + "nvim-mini/mini.ai", version = false, } diff --git a/modules/home/apps/tools/neovim/default.nix b/modules/home/apps/tools/neovim/default.nix index 474ee97..e19040d 100644 --- a/modules/home/apps/tools/neovim/default.nix +++ b/modules/home/apps/tools/neovim/default.nix @@ -27,15 +27,20 @@ with lib.custom; let in result; - pluginList = plugins: strings.concatMapStrings (plugin: " [\"${sanitizePluginName plugin.name}\"] = \"${plugin.outPath}\",\n") plugins; + pluginList = plugins: + strings.concatMapStrings ( + plugin: " [\"${sanitizePluginName plugin.name}\"] = \"${plugin.outPath}\",\n" + ) + plugins; in { options.apps.tools.neovim = with types; { enable = mkBoolOpt false "Enable Neovim"; }; config = mkIf cfg.enable { + catppuccin.nvim.enable = false; + programs.neovim = { - catppuccin.enable = false; enable = true; defaultEditor = true; package = inputs.neovim-nightly-overlay.packages.${pkgs.system}.default; @@ -55,22 +60,21 @@ in { # LSP lua-language-server nixd - (pkgs.rust-bin.selectLatestNightlyWith - (toolchain: toolchain.default)) rust-analyzer nodePackages.typescript-language-server #nodePackages.astro-language-server nodePackages.bash-language-server nodePackages.svelte-language-server tailwindcss-language-server + vtsls taplo docker-compose-language-service - dockerfile-language-server-nodejs + dockerfile-language-server haskellPackages.hadolint shellcheck markdownlint-cli2 shfmt - sqlfluff + # sqlfluff go tailwindcss-language-server @@ -88,7 +92,6 @@ in { fswatch # File watcher utility, replacing libuv.fs_event for neovim 10.0 sqlite postgresql - mongosh # vscode-extensions.vadimcn.vscode-lldb.adapter ]; plugins = with pkgs.vimPlugins; [ diff --git a/modules/home/apps/web/floorp/default.nix b/modules/home/apps/web/floorp/default.nix index 5ce2ebd..d91aa48 100644 --- a/modules/home/apps/web/floorp/default.nix +++ b/modules/home/apps/web/floorp/default.nix @@ -11,8 +11,8 @@ with lib.custom; let natsumi = pkgs.fetchFromGitHub { owner = "greeeen-dev"; repo = "natsumi-browser"; - rev = "c99affebd8c095c5416e248605557c32636c6476"; - hash = "sha256-5x/XLMEUb9go9Qh2E9E9UR+tSwAfR4SlvWHKq+S9A7E="; + rev = "v5.7.1"; + hash = "sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="; }; in { options.apps.web.floorp = with types; { diff --git a/modules/home/apps/web/librewolf/default.nix b/modules/home/apps/web/librewolf/default.nix index 10a916b..ae234aa 100644 --- a/modules/home/apps/web/librewolf/default.nix +++ b/modules/home/apps/web/librewolf/default.nix @@ -12,8 +12,8 @@ with lib.custom; let natsumi = pkgs.fetchFromGitHub { owner = "greeeen-dev"; repo = "natsumi-browser"; - rev = "1300fd5751f4b366b0c8ec668e99ce55b1593d7b"; - hash = "sha256-08oflxcLAYoQV4O4JeWhG4JRIYcNROKdbEDNSxzK4JU="; + rev = "v5.7.1"; + hash = "sha256-t5xVpFRV2qq5uJRGk7V50EiPnsxbd2cyeKPJYqg/LF0="; }; in { options.apps.web.librewolf = with types; { diff --git a/modules/home/rice/gtk/default.nix b/modules/home/rice/gtk/default.nix index 67cc8b0..00fc341 100644 --- a/modules/home/rice/gtk/default.nix +++ b/modules/home/rice/gtk/default.nix @@ -15,7 +15,7 @@ in { }; config = mkIf cfg.enable { - catppuccin.pointerCursor.enable = true; + catppuccin.cursors.enable = true; home.pointerCursor = { gtk.enable = true; diff --git a/modules/home/services/hypridle/default.nix b/modules/home/services/hypridle/default.nix index 27082f0..68cef77 100644 --- a/modules/home/services/hypridle/default.nix +++ b/modules/home/services/hypridle/default.nix @@ -15,9 +15,10 @@ in { }; config = mkIf (cfg.enable && !pkgs.stdenv.isDarwin) { + catppuccin.swaylock.enable = false; + programs.swaylock = { enable = true; - catppuccin.enable = false; package = pkgs.swaylock-effects; settings = with colors; { clock = true; diff --git a/modules/home/shells/aliases.nix b/modules/home/shells/aliases.nix index 4a8ca73..c18d4b5 100644 --- a/modules/home/shells/aliases.nix +++ b/modules/home/shells/aliases.nix @@ -16,7 +16,7 @@ with pkgs; { untar = "tar -xvf"; untargz = "tar -xzf"; MANPAGER = "sh -c 'col -bx | bat -l man -p'"; - du = getExe du-dust; + du = getExe dust; ps = getExe procs; lb = "pw-loopback -C \"alsa_input.pci-0000_0d_00.4.analog-stereo\" -P \"Scarlett Solo (3rd Gen.) Headphones / Line 1-2\""; deploy = "nixos-rebuild switch --flake ~/nixos#pluto --target-host zoeys.computer --use-remote-sudo"; @@ -28,6 +28,8 @@ with pkgs; { la = "${getExe eza} -lah --tree"; ls = "${getExe eza} -h --git --icons --color=auto --group-directories-first -s extension"; tree = "${getExe eza} --tree --icons --tree"; + ns = "nh os switch -- --cores 8 --max-jobs 1"; + nsu = "nh os switch --update -- --cores 8 --max-jobs 1"; kys = "shutdown now"; # w = ''| nvim -c "setlocal buftype=nofile bufhidden=wipe" -c "nnoremap q :q!" -''; lv = "nvim -c \"normal '\''0\""; diff --git a/modules/home/shells/fish/default.nix b/modules/home/shells/fish/default.nix index ca38920..c3e81b6 100644 --- a/modules/home/shells/fish/default.nix +++ b/modules/home/shells/fish/default.nix @@ -91,7 +91,7 @@ in { fzf # dns client - dogdns + doggo # neofetch but for git repos onefetch @@ -114,9 +114,6 @@ in { imagemagick ffmpeg-full - # preview images in terminal - catimg - # networking stuff nmap wget diff --git a/modules/home/shells/nu/aliases.nix b/modules/home/shells/nu/aliases.nix index f96d667..cf67129 100644 --- a/modules/home/shells/nu/aliases.nix +++ b/modules/home/shells/nu/aliases.nix @@ -16,7 +16,7 @@ with pkgs; { untar = "tar -xvf"; untargz = "tar -xzf"; MANPAGER = "sh -c 'col -bx | bat -l man -p'"; - du = getExe du-dust; + du = getExe dust; lb = "pw-loopback -C \"alsa_input.pci-0000_0d_00.4.analog-stereo\" -P \"Scarlett Solo (3rd Gen.) Headphones / Line 1-2\""; deploy = "nixos-rebuild switch --flake ~/nixos#pluto --target-host zoeys.computer --use-remote-sudo"; m = "mkdir"; diff --git a/modules/home/shells/nu/default.nix b/modules/home/shells/nu/default.nix index 6eca880..01bc890 100644 --- a/modules/home/shells/nu/default.nix +++ b/modules/home/shells/nu/default.nix @@ -53,7 +53,7 @@ in { ripgrep gping fzf - dogdns + doggo onefetch cpufetch yt-dlp @@ -62,7 +62,6 @@ in { hyperfine imagemagick ffmpeg-full - catimg nmap wget fd diff --git a/modules/home/shells/zsh/default.nix b/modules/home/shells/zsh/default.nix index 387635e..dcde6b7 100644 --- a/modules/home/shells/zsh/default.nix +++ b/modules/home/shells/zsh/default.nix @@ -92,7 +92,7 @@ in { gping # dns client - dogdns + doggo # neofetch but for git repos onefetch @@ -115,9 +115,6 @@ in { imagemagick ffmpeg-full - # preview images in terminal - catimg - # networking stuff nmap wget diff --git a/modules/home/wms/niri/default.nix b/modules/home/wms/niri/default.nix index a5d4f27..f55bf32 100644 --- a/modules/home/wms/niri/default.nix +++ b/modules/home/wms/niri/default.nix @@ -24,7 +24,15 @@ with lib.custom; { relative-to ? "window", in' ? null, }: { - gradient = {inherit from to angle relative-to in';}; + gradient = { + inherit + from + to + angle + relative-to + in' + ; + }; }; spawnSlackOnWeekday = pkgs.writeShellScriptBin "spawn-slack-on-weekday" '' @@ -41,758 +49,648 @@ with lib.custom; { exit 0 ''; in { - package = pkgs.niri.overrideAttrs (final: prev: { - patches = prev.patches ++ [../../../../fix-niri-nvidia.patch]; - }); + package = inputs.niri-src.packages.${pkgs.system}.niri; - config = '' - input { - keyboard { - xkb { - layout "" - model "" - rules "" - variant "" - } - repeat-delay 600 - repeat-rate 40 - track-layout "global" - } - touchpad { - tap - disabled-on-external-mouse - natural-scroll - } - mouse { - accel-speed 0.200000 - accel-profile "flat" - } - warp-mouse-to-focus - } - output "DP-1" { - scale 1 - transform "normal" - position x=2560 y=0 - mode "2560x1440@239.972000" - variable-refresh-rate on-demand=true - } - output "DP-3" { - scale 1.500000 - focus-at-startup - transform "normal" - position x=0 y=0 - mode "3840x2160@240.000000" - variable-refresh-rate on-demand=true - } - screenshot-path "~/Pictures/Screenshots/Screenshot from %Y-%m-%d %H-%M-%S.png" - prefer-no-csd - layout { - gaps 16 - struts { - left 0 - right 0 - top 0 - bottom 0 - } - focus-ring { - width 4 - active-gradient angle=45 from="#89b4fa" relative-to="window" to="#89dceb" - inactive-gradient angle=45 from="#45475a" relative-to="workspace-view" to="#585b70" - } - blur { - on - passes 4 - radius 4.0 - noise 0.1 - } - border { - width 0 - active-color "#89b4fa" - inactive-color "#1e1e2e" - } - default-column-width { proportion 0.500000; } - preset-column-widths { - proportion 0.333330 - proportion 0.500000 - proportion 0.666670 - } - center-focused-column "never" - } - cursor { - xcursor-theme "default" - xcursor-size 24 - } - hotkey-overlay { skip-at-startup; } - environment { DISPLAY ":0"; } - binds { - Ctrl+Alt+Delete { quit; } - Mod+1 { focus-workspace 1; } - Mod+2 { focus-workspace 2; } - Mod+3 { focus-workspace 3; } - Mod+4 { focus-workspace 4; } - Mod+5 { focus-workspace 5; } - Mod+6 { focus-workspace 6; } - Mod+7 { focus-workspace 7; } - Mod+8 { focus-workspace 8; } - Mod+9 { focus-workspace 9; } - Mod+BracketLeft { consume-or-expel-window-left; } - Mod+BracketRight { consume-or-expel-window-right; } - Mod+C { center-column; } - Mod+Comma { consume-window-into-column; } - Mod+Ctrl+Down { move-window-down; } - Mod+Ctrl+End { move-column-to-last; } - Mod+Ctrl+F { expand-column-to-available-width; } - Mod+Ctrl+H { move-column-left; } - Mod+Ctrl+Home { move-column-to-first; } - Mod+Ctrl+I { move-column-to-workspace-up; } - Mod+Ctrl+J { move-window-down; } - Mod+Ctrl+K { move-window-up; } - Mod+Ctrl+L { move-column-right; } - Mod+Ctrl+Left { move-column-left; } - "Mod+Ctrl+Page_Down" { move-column-to-workspace-down; } - "Mod+Ctrl+Page_Up" { move-column-to-workspace-up; } - Mod+Ctrl+R { reset-window-height; } - Mod+Ctrl+Right { move-column-right; } - Mod+Ctrl+Shift+F { toggle-windowed-fullscreen; } - Mod+Ctrl+Shift+WheelScrollDown { move-column-right; } - Mod+Ctrl+Shift+WheelScrollUp { move-column-left; } - Mod+Ctrl+U { move-column-to-workspace-down; } - Mod+Ctrl+Up { move-window-up; } - Mod+Ctrl+WheelScrollDown cooldown-ms=150 { move-column-to-workspace-down; } - Mod+Ctrl+WheelScrollLeft { move-column-left; } - Mod+Ctrl+WheelScrollRight { move-column-right; } - Mod+Ctrl+WheelScrollUp cooldown-ms=150 { move-column-to-workspace-up; } - Mod+D { spawn "fuzzel"; } - Mod+Down { focus-window-down; } - Mod+End { focus-column-last; } - Mod+Equal { set-column-width "+10%"; } - Mod+F { maximize-column; } - Mod+H { focus-column-left; } - Mod+Home { focus-column-first; } - Mod+I { focus-workspace-up; } - Mod+J { focus-window-down; } - Mod+K { focus-window-up; } - Mod+L { focus-column-right; } - Mod+Left { focus-column-left; } - Mod+Minus { set-column-width "-10%"; } - "Mod+Page_Down" { focus-workspace-down; } - "Mod+Page_Up" { focus-workspace-up; } - Mod+Period { expel-window-from-column; } - Mod+Q { close-window; } - Mod+R { switch-preset-column-width; } - Mod+Return { spawn "kitty"; } - Mod+Right { focus-column-right; } - Mod+Shift+1 { spawn "/nix/store/kqk80x8bbv05c8rxfvjiyy96jvqng3p2-niri-082d058/bin/niri" "msg" "action" "move-column-to-workspace" "1"; } - Mod+Shift+2 { spawn "/nix/store/kqk80x8bbv05c8rxfvjiyy96jvqng3p2-niri-082d058/bin/niri" "msg" "action" "move-column-to-workspace" "2"; } - Mod+Shift+3 { spawn "/nix/store/kqk80x8bbv05c8rxfvjiyy96jvqng3p2-niri-082d058/bin/niri" "msg" "action" "move-column-to-workspace" "3"; } - Mod+Shift+4 { spawn "/nix/store/kqk80x8bbv05c8rxfvjiyy96jvqng3p2-niri-082d058/bin/niri" "msg" "action" "move-column-to-workspace" "4"; } - Mod+Shift+5 { spawn "/nix/store/kqk80x8bbv05c8rxfvjiyy96jvqng3p2-niri-082d058/bin/niri" "msg" "action" "move-column-to-workspace" "5"; } - Mod+Shift+6 { spawn "/nix/store/kqk80x8bbv05c8rxfvjiyy96jvqng3p2-niri-082d058/bin/niri" "msg" "action" "move-column-to-workspace" "6"; } - Mod+Shift+7 { spawn "/nix/store/kqk80x8bbv05c8rxfvjiyy96jvqng3p2-niri-082d058/bin/niri" "msg" "action" "move-column-to-workspace" "7"; } - Mod+Shift+8 { spawn "/nix/store/kqk80x8bbv05c8rxfvjiyy96jvqng3p2-niri-082d058/bin/niri" "msg" "action" "move-column-to-workspace" "8"; } - Mod+Shift+9 { spawn "/nix/store/kqk80x8bbv05c8rxfvjiyy96jvqng3p2-niri-082d058/bin/niri" "msg" "action" "move-column-to-workspace" "9"; } - Mod+Shift+Ctrl+Down { move-column-to-monitor-down; } - Mod+Shift+Ctrl+H { move-column-to-monitor-left; } - Mod+Shift+Ctrl+J { move-column-to-monitor-down; } - Mod+Shift+Ctrl+K { move-column-to-monitor-up; } - Mod+Shift+Ctrl+L { move-column-to-monitor-right; } - Mod+Shift+Ctrl+Left { move-column-to-monitor-left; } - Mod+Shift+Ctrl+Right { move-column-to-monitor-right; } - Mod+Shift+Ctrl+Up { move-column-to-monitor-up; } - Mod+Shift+Down { focus-monitor-down; } - Mod+Shift+E { quit; } - Mod+Shift+Equal { set-window-height "+10%"; } - Mod+Shift+F { fullscreen-window; } - Mod+Shift+H { focus-monitor-left; } - Mod+Shift+I { move-workspace-up; } - Mod+Shift+J { focus-workspace-down; } - Mod+Shift+K { focus-workspace-up; } - Mod+Shift+L { focus-monitor-right; } - Mod+Shift+Left { focus-monitor-left; } - Mod+Shift+Minus { set-window-height "-10%"; } - Mod+Shift+P { power-off-monitors; } - "Mod+Shift+Page_Down" { move-workspace-down; } - "Mod+Shift+Page_Up" { move-workspace-up; } - Mod+Shift+R { switch-preset-window-height; } - Mod+Shift+Right { focus-monitor-right; } - Mod+Shift+Slash { show-hotkey-overlay; } - Mod+Shift+U { move-workspace-down; } - Mod+Shift+Up { focus-monitor-up; } - Mod+Shift+WheelScrollDown { focus-column-right; } - Mod+Shift+WheelScrollUp { focus-column-left; } - Mod+U { focus-workspace-down; } - Mod+Up { focus-window-up; } - Mod+V { toggle-window-floating; } - Mod+WheelScrollDown cooldown-ms=150 { focus-workspace-down; } - Mod+WheelScrollLeft { focus-column-left; } - Mod+WheelScrollRight { focus-column-right; } - Mod+WheelScrollUp cooldown-ms=150 { focus-workspace-up; } - Print { screenshot; } - Super+Alt+L { spawn "swaylock"; } - XF86AudioLowerVolume allow-when-locked=true { spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.1-"; } - XF86AudioMicMute allow-when-locked=true { spawn "wpctl" "set-mute" "@DEFAULT_AUDIO_SOURCE@" "toggle"; } - XF86AudioMute allow-when-locked=true { spawn "wpctl" "set-mute" "@DEFAULT_AUDIO_SINK@" "toggle"; } - XF86AudioRaiseVolume allow-when-locked=true { spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.1+"; } - } - workspace "browser" - workspace "code" - workspace "chat" - workspace "work" - spawn-at-startup "xwayland-satellite" - spawn-at-startup "thunderbird" - spawn-at-startup "zen" - spawn-at-startup "vesktop" - spawn-at-startup "cider-2" - spawn-at-startup "${spawnSlackOnWeekday}/bin/spawn-slack-on-weekday" - window-rule { - match app-id="^org\\.keepassxc\\.KeePassXC$" - match app-id="^org\\.gnome\\.World\\.Secrets$" - match app-id="^1Password$" - match app-id="^thunderbird$" - match app-id="^signal$" - match app-id="^vesktop$" - match app-id="^slack$" - block-out-from "screen-capture" - } - window-rule { - geometry-corner-radius 12.000000 12.000000 12.000000 12.000000 - clip-to-geometry true - } - window-rule { - match is-window-cast-target=true - focus-ring { - active-color "#f38ba8" - inactive-color "#89556B" - } - shadow { color "#7d0d2d70"; } - tab-indicator { - active-color "#f38ba8" - inactive-color "#89556B" - } - } - window-rule { - match app-id="^steam$" - exclude title="^Steam$" - open-floating true - open-focused false - default-floating-position relative-to="bottom-right" x=16 y=16 - } - window-rule { - match app-id="^cyberpunk2077.exe$" - match app-id="^Overwatch2.exe$" - variable-refresh-rate true - } - window-rule { - match app-id="^zen$" at-startup=true - open-on-workspace "browser" - open-maximized true - } - window-rule { - match app-id="^spotify$" at-startup=true - match app-id="^vesktop$" at-startup=true - open-on-workspace "chat" - } - window-rule { - match app-id="^Slack$" at-startup=true - match app-id="^thunderbird$" at-startup=true - open-on-workspace "work" - } - layer-rule { - match namespace="notifications$" - block-out-from "screen-capture" - } - ''; + settings = { + # Input device configuration + input = { + keyboard = { + # xkb settings are empty in KDL, using defaults/empty strings + xkb = { + rules = ""; + model = ""; + layout = ""; + variant = ""; + options = null; # Or "" if you prefer explicit empty + }; - # settings = { - # # Input device configuration - # input = { - # keyboard = { - # # xkb settings are empty in KDL, using defaults/empty strings - # xkb = { - # rules = ""; - # model = ""; - # layout = ""; - # variant = ""; - # options = null; # Or "" if you prefer explicit empty - # }; - # - # repeat-rate = 40; - # }; - # - # touchpad = { - # enable = true; # Not explicitly 'off' in KDL - # tap = true; - # dwt = false; # Commented out in KDL - # dwtp = false; # Commented out in KDL - # natural-scroll = true; - # # accel-speed = 0.2; # Commented out - # # accel-profile = "flat"; # Commented out - # # scroll-method = "two-finger"; # Commented out - # disabled-on-external-mouse = true; - # }; - # - # mouse = { - # enable = true; # Not explicitly 'off' in KDL - # natural-scroll = false; # Commented out in KDL - # accel-speed = 0.2; - # accel-profile = "flat"; - # # scroll-method = "no-scroll"; # Commented out - # }; - # - # trackpoint = { - # enable = true; # Not explicitly 'off' in KDL - # natural-scroll = false; # Commented out - # # accel-speed = 0.2; # Commented out - # # accel-profile = "flat"; # Commented out - # # scroll-method = "on-button-down"; # Commented out - # # scroll-button = 273; # Commented out - # middle-emulation = false; # Commented out - # }; - # - # warp-mouse-to-focus = true; - # - # focus-follows-mouse = { - # enable = false; # Commented out in KDL - # # max-scroll-amount = "0%"; # Only relevant if enabled - # }; - # }; - # - # # Output configuration - # outputs."DP-1" = { - # enable = true; # Not explicitly 'off' - # mode = { - # width = 2560; - # height = 1440; - # refresh = 239.972; - # }; - # variable-refresh-rate = "on-demand"; - # scale = 1; - # transform = { - # # "normal" - # rotation = 0; - # flipped = false; - # }; - # position = { - # x = 2560; - # y = 0; - # }; - # }; - # - # outputs."DP-3" = { - # enable = true; # Not explicitly 'off' - # mode = { - # width = 3840; - # height = 2160; - # refresh = 240.0; - # }; - # variable-refresh-rate = "on-demand"; - # focus-at-startup = true; - # scale = 1.5; - # transform = { - # # "normal" - # rotation = 0; - # flipped = false; - # }; - # position = { - # x = 0; - # y = 0; - # }; - # }; - # - # # Environment variables - # environment = { - # DISPLAY = ":0"; # for applications using xwayland-satillite - # }; - # - # hotkey-overlay = { - # skip-at-startup = true; - # }; - # - # # Layout settings - # layout = { - # gaps = 16; - # center-focused-column = "never"; - # - # preset-column-widths = [ - # {proportion = 0.33333;} - # {proportion = 0.5;} - # {proportion = 0.66667;} - # # { fixed = 1920; } # Example if needed - # ]; - # - # # preset-window-heights = []; # Empty in KDL - # - # default-column-width = {proportion = 0.5;}; - # # default-column-width = {}; # Alternative from KDL comments - # - # blur = { - # enable = true; - # passes = 4; - # radius = 4.0; - # noise = 0.1; - # }; - # - # focus-ring = { - # enable = true; # Not explicitly 'off' - # width = 4; - # active = mkGradient colors.blue.hex colors.sky.hex {angle = 45;}; - # # active = mkColor "#7fc8ff"; # Alternative solid color from KDL - # inactive = mkGradient colors.surface1.hex colors.surface2.hex { - # angle = 45; - # relative-to = "workspace-view"; - # }; - # # inactive = mkColor "#505050"; # Alternative solid color from KDL - # }; - # - # border = { - # enable = true; # Explicitly 'off' in KDL - # width = 0; - # active = mkColor colors.blue.hex; - # inactive = mkColor colors.base.hex; - # # active-gradient = ... # Commented out in KDL - # # inactive-gradient = ... # Commented out in KDL - # }; - # - # struts = { - # # left = 64; # Commented out - # # right = 64; # Commented out - # # top = 64; # Commented out - # # bottom = 64; # Commented out - # }; - # }; - # - # # Spawn processes at startup - # spawn-at-startup = [ - # {command = ["xwayland-satellite"];} - # {command = ["${pkgs.writeShellScriptBin "thunderbird-delayed" ''sleep 5; thunderbird''}/bin/thunderbird-delayed"];} - # {command = ["${pkgs.writeShellScriptBin "zen-delayed" ''sleep 5; zen''}/bin/zen-delayed"];} - # {command = ["vesktop"];} - # {command = ["cider-2"];} - # - # {command = ["${spawnSlackOnWeekday}/bin/spawn-slack-on-weekday"];} - # ]; - # - # # Prefer server-side decorations - # prefer-no-csd = true; - # - # # Screenshot path - # screenshot-path = "~/Pictures/Screenshots/Screenshot from %Y-%m-%d %H-%M-%S.png"; - # # screenshot-path = null; # Alternative from KDL comments - # - # # Animation settings - # animations = { - # enable = true; # Not explicitly 'off' - # # slowdown = 3.0; # Commented out - # # Individual animation settings can be added here if needed - # }; - # - # layer-rules = [ - # { - # matches = [ - # {namespace = "notifications$";} - # ]; - # - # block-out-from = "screen-capture"; - # } - # ]; - # - # # Window rules - # window-rules = [ - # # Password manager rule (example from KDL comments) - # { - # matches = [ - # {app-id = "^org\\.keepassxc\\.KeePassXC$";} - # {app-id = "^org\\.gnome\\.World\\.Secrets$";} - # {app-id = "^1Password$";} - # {app-id = "^thunderbird$";} - # {app-id = "^signal$";} - # {app-id = "^vesktop$";} - # {app-id = "^slack$";} - # ]; - # block-out-from = "screen-capture"; - # } - # # Rounded corners rule (example from KDL comments) - # { - # # No matches means apply to all windows - # geometry-corner-radius = { - # top-left = 12.0; - # top-right = 12.0; - # bottom-left = 12.0; - # bottom-right = 12.0; - # }; - # clip-to-geometry = true; - # } - # # Window cast target rule - # { - # matches = [{is-window-cast-target = true;}]; - # focus-ring = { - # active = mkColor colors.red.hex; - # inactive = mkColor (lerpColor colors.red.hex colors.base.hex 0.5); - # }; - # shadow = { - # # Only color is specified in KDL rule - # color = "#7d0d2d70"; - # }; - # tab-indicator = { - # active = mkColor colors.red.hex; - # inactive = mkColor (lerpColor colors.red.hex colors.base.hex 0.5); - # }; - # } - # - # # fix steam popups holy fuck they're annoying - # { - # matches = [ - # {app-id = "^steam$";} - # ]; - # - # excludes = [{title = "^Steam$";}]; - # - # open-floating = true; - # - # open-focused = false; - # - # default-floating-position = { - # relative-to = "bottom-right"; - # x = 16; - # y = 16; - # }; - # } - # { - # matches = [ - # { - # app-id = "^cyberpunk2077.exe$"; - # } - # { - # app-id = "^Overwatch2.exe$"; - # } - # ]; - # - # variable-refresh-rate = true; - # } - # { - # matches = [ - # { - # at-startup = true; - # app-id = "^zen$"; - # } - # ]; - # - # open-maximized = true; - # - # open-on-workspace = "browser"; - # } - # { - # matches = [ - # { - # at-startup = true; - # app-id = "^spotify$"; - # } - # { - # at-startup = true; - # app-id = "^vesktop$"; - # } - # ]; - # - # open-on-workspace = "chat"; - # } - # { - # matches = [ - # { - # at-startup = true; - # app-id = "^Slack$"; - # } - # { - # at-startup = true; - # app-id = "^thunderbird$"; - # } - # ]; - # - # open-on-workspace = "work"; - # } - # ]; - # - # workspaces."01-browser" = { - # name = "browser"; - # }; - # workspaces."02-code" = { - # name = "code"; - # }; - # workspaces."03-chat" = { - # name = "chat"; - # }; - # workspaces."04-work" = { - # name = "work"; - # }; - # - # # Keybindings - # binds = - # { - # "Mod+Shift+Slash" = {action = actions.show-hotkey-overlay;}; - # - # "Mod+Return" = {action = actions.spawn "kitty";}; - # "Mod+D" = {action = actions.spawn "fuzzel";}; - # "Super+Alt+L" = {action = actions.spawn "swaylock";}; - # # "Mod+T" = { action = actions.spawn "bash" "-c" "notify-send hello && exec alacritty"; }; - # - # # "Mod+S" = {action = actions.set-dynamic-cast-window;}; - # # - # # "Mod+Shift+S" = {action = actions.set-dynamic-cast-monitor;}; - # # - # # "Mod+Z" = {action = actions.clear-dynamic-cast-target;}; - # - # "XF86AudioRaiseVolume" = { - # allow-when-locked = true; - # action = actions.spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.1+"; - # }; - # "XF86AudioLowerVolume" = { - # allow-when-locked = true; - # action = actions.spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.1-"; - # }; - # "XF86AudioMute" = { - # allow-when-locked = true; - # action = actions.spawn "wpctl" "set-mute" "@DEFAULT_AUDIO_SINK@" "toggle"; - # }; - # "XF86AudioMicMute" = { - # allow-when-locked = true; - # action = - # actions.spawn "wpctl" "set-mute" "@DEFAULT_AUDIO_SOURCE@" "toggle"; - # }; - # - # "Mod+Q" = {action = actions.close-window;}; - # - # "Mod+Left" = {action = actions.focus-column-left;}; - # "Mod+Down" = {action = actions.focus-window-down;}; - # "Mod+Up" = {action = actions.focus-window-up;}; - # "Mod+Right" = {action = actions.focus-column-right;}; - # "Mod+H" = {action = actions.focus-column-left;}; - # "Mod+J" = {action = actions.focus-window-down;}; - # "Mod+K" = {action = actions.focus-window-up;}; - # "Mod+L" = {action = actions.focus-column-right;}; - # - # "Mod+Ctrl+Left" = {action = actions.move-column-left;}; - # "Mod+Ctrl+Down" = {action = actions.move-window-down;}; - # "Mod+Ctrl+Up" = {action = actions.move-window-up;}; - # "Mod+Ctrl+Right" = {action = actions.move-column-right;}; - # "Mod+Ctrl+H" = {action = actions.move-column-left;}; - # "Mod+Ctrl+J" = {action = actions.move-window-down;}; - # "Mod+Ctrl+K" = {action = actions.move-window-up;}; - # "Mod+Ctrl+L" = {action = actions.move-column-right;}; - # - # # Alternative commands (commented out in KDL) - # # "Mod+J" = { action = actions.focus-window-or-workspace-down; }; - # # "Mod+K" = { action = actions.focus-window-or-workspace-up; }; - # # "Mod+Ctrl+J" = { action = actions.move-window-down-or-to-workspace-down; }; - # # "Mod+Ctrl+K" = { action = actions.move-window-up-or-to-workspace-up; }; - # - # "Mod+Home" = {action = actions.focus-column-first;}; - # "Mod+End" = {action = actions.focus-column-last;}; - # "Mod+Ctrl+Home" = {action = actions.move-column-to-first;}; - # "Mod+Ctrl+End" = {action = actions.move-column-to-last;}; - # - # "Mod+Shift+Left" = {action = actions.focus-monitor-left;}; - # "Mod+Shift+Down" = {action = actions.focus-monitor-down;}; - # "Mod+Shift+Up" = {action = actions.focus-monitor-up;}; - # "Mod+Shift+Right" = {action = actions.focus-monitor-right;}; - # "Mod+Shift+H" = {action = actions.focus-monitor-left;}; - # "Mod+Shift+J" = {action = actions.focus-workspace-down;}; - # "Mod+Shift+K" = {action = actions.focus-workspace-up;}; - # "Mod+Shift+L" = {action = actions.focus-monitor-right;}; - # - # "Mod+Ctrl+Shift+F" = {action = actions.toggle-windowed-fullscreen;}; - # - # "Mod+Shift+Ctrl+Left" = {action = actions.move-column-to-monitor-left;}; - # "Mod+Shift+Ctrl+Down" = {action = actions.move-column-to-monitor-down;}; - # "Mod+Shift+Ctrl+Up" = {action = actions.move-column-to-monitor-up;}; - # "Mod+Shift+Ctrl+Right" = {action = actions.move-column-to-monitor-right;}; - # "Mod+Shift+Ctrl+H" = {action = actions.move-column-to-monitor-left;}; - # "Mod+Shift+Ctrl+J" = {action = actions.move-column-to-monitor-down;}; - # "Mod+Shift+Ctrl+K" = {action = actions.move-column-to-monitor-up;}; - # "Mod+Shift+Ctrl+L" = {action = actions.move-column-to-monitor-right;}; - # - # "Mod+Page_Down" = {action = actions.focus-workspace-down;}; - # "Mod+Page_Up" = {action = actions.focus-workspace-up;}; - # "Mod+U" = {action = actions.focus-workspace-down;}; - # "Mod+I" = {action = actions.focus-workspace-up;}; - # "Mod+Ctrl+Page_Down" = {action = actions.move-column-to-workspace-down;}; - # "Mod+Ctrl+Page_Up" = {action = actions.move-column-to-workspace-up;}; - # "Mod+Ctrl+U" = {action = actions.move-column-to-workspace-down;}; - # "Mod+Ctrl+I" = {action = actions.move-column-to-workspace-up;}; - # - # "Mod+Shift+Page_Down" = {action = actions.move-workspace-down;}; - # "Mod+Shift+Page_Up" = {action = actions.move-workspace-up;}; - # "Mod+Shift+U" = {action = actions.move-workspace-down;}; - # "Mod+Shift+I" = {action = actions.move-workspace-up;}; - # - # "Mod+WheelScrollDown" = { - # cooldown-ms = 150; - # action = actions.focus-workspace-down; - # }; - # "Mod+WheelScrollUp" = { - # cooldown-ms = 150; - # action = actions.focus-workspace-up; - # }; - # "Mod+Ctrl+WheelScrollDown" = { - # cooldown-ms = 150; - # action = actions.move-column-to-workspace-down; - # }; - # "Mod+Ctrl+WheelScrollUp" = { - # cooldown-ms = 150; - # action = actions.move-column-to-workspace-up; - # }; - # - # "Mod+WheelScrollRight" = {action = actions.focus-column-right;}; - # "Mod+WheelScrollLeft" = {action = actions.focus-column-left;}; - # "Mod+Ctrl+WheelScrollRight" = {action = actions.move-column-right;}; - # "Mod+Ctrl+WheelScrollLeft" = {action = actions.move-column-left;}; - # - # "Mod+Shift+WheelScrollDown" = {action = actions.focus-column-right;}; - # "Mod+Shift+WheelScrollUp" = {action = actions.focus-column-left;}; - # "Mod+Ctrl+Shift+WheelScrollDown" = {action = actions.move-column-right;}; - # "Mod+Ctrl+Shift+WheelScrollUp" = {action = actions.move-column-left;}; - # - # "Mod+Comma" = {action = actions.consume-window-into-column;}; - # "Mod+Period" = {action = actions.expel-window-from-column;}; - # - # "Mod+BracketLeft" = {action = actions.consume-or-expel-window-left;}; - # "Mod+BracketRight" = {action = actions.consume-or-expel-window-right;}; - # - # "Mod+R" = {action = actions.switch-preset-column-width;}; - # "Mod+Shift+R" = {action = actions.switch-preset-window-height;}; - # "Mod+Ctrl+R" = {action = actions.reset-window-height;}; - # "Mod+F" = {action = actions.maximize-column;}; - # "Mod+Shift+F" = {action = actions.fullscreen-window;}; - # "Mod+C" = {action = actions.center-column;}; - # "Mod+Ctrl+F" = {action = actions.expand-column-to-available-width;}; - # - # "Mod+V" = {action = actions.toggle-window-floating;}; - # - # "Mod+Minus" = {action = actions.set-column-width "-10%";}; - # "Mod+Equal" = {action = actions.set-column-width "+10%";}; - # - # "Mod+Shift+Minus" = {action = actions.set-window-height "-10%";}; - # "Mod+Shift+Equal" = {action = actions.set-window-height "+10%";}; - # - # "Print" = {action = actions.screenshot {};}; # Empty attrset for default args - # "Mod+Shift+E" = {action = actions.quit {};}; # Default: no skip-confirmation - # "Ctrl+Alt+Delete" = {action = actions.quit {};}; - # - # "Mod+Shift+P" = {action = actions.power-off-monitors;}; - # } - # // lib.attrsets.listToAttrs (builtins.concatMap (i: - # with actions; [ - # { - # name = "Mod+${toString i}"; - # value.action = focus-workspace i; - # } - # # FIXME: use this action directly untril sodiboo/niri-flake#1018 is fixed. - # { - # name = "Mod+Shift+${toString i}"; - # value.action = spawn [niri "msg" "action" "move-column-to-workspace" (toString i)]; - # } - # ]) (lib.range 1 9)); - # }; + repeat-rate = 40; + }; + + touchpad = { + enable = true; # Not explicitly 'off' in KDL + tap = true; + dwt = false; # Commented out in KDL + dwtp = false; # Commented out in KDL + natural-scroll = true; + # accel-speed = 0.2; # Commented out + # accel-profile = "flat"; # Commented out + # scroll-method = "two-finger"; # Commented out + disabled-on-external-mouse = true; + }; + + mouse = { + enable = true; # Not explicitly 'off' in KDL + natural-scroll = false; # Commented out in KDL + accel-speed = 0.2; + accel-profile = "flat"; + # scroll-method = "no-scroll"; # Commented out + }; + + trackpoint = { + enable = true; # Not explicitly 'off' in KDL + natural-scroll = false; # Commented out + # accel-speed = 0.2; # Commented out + # accel-profile = "flat"; # Commented out + # scroll-method = "on-button-down"; # Commented out + # scroll-button = 273; # Commented out + middle-emulation = false; # Commented out + }; + + warp-mouse-to-focus.enable = true; + + focus-follows-mouse = { + enable = false; # Commented out in KDL + # max-scroll-amount = "0%"; # Only relevant if enabled + }; + }; + + # Output configuration + outputs."DP-1" = { + enable = true; # Not explicitly 'off' + mode = { + width = 2560; + height = 1440; + refresh = 239.972; + }; + variable-refresh-rate = "on-demand"; + scale = 1; + transform = { + # "normal" + rotation = 0; + flipped = false; + }; + position = { + x = 2560; + y = 0; + }; + }; + + outputs."DP-3" = { + enable = true; # Not explicitly 'off' + mode = { + width = 3840; + height = 2160; + refresh = 240.0; + }; + variable-refresh-rate = "on-demand"; + focus-at-startup = true; + scale = 1.5; + transform = { + # "normal" + rotation = 0; + flipped = false; + }; + position = { + x = 0; + y = 0; + }; + }; + + # Environment variables + environment = { + DISPLAY = ":0"; # for applications using xwayland-satillite + }; + + hotkey-overlay = { + skip-at-startup = true; + }; + + # Layout settings + layout = { + gaps = 16; + center-focused-column = "never"; + + preset-column-widths = [ + {proportion = 0.33333;} + {proportion = 0.5;} + {proportion = 0.66667;} + # { fixed = 1920; } # Example if needed + ]; + + # preset-window-heights = []; # Empty in KDL + + default-column-width = { + proportion = 0.5; + }; + # default-column-width = {}; # Alternative from KDL comments + + # blur = { + # enable = true; + # passes = 4; + # radius = 4.0; + # noise = 0.1; + # }; + + focus-ring = { + enable = true; # Not explicitly 'off' + width = 4; + active = mkGradient colors.blue.hex colors.sky.hex {angle = 45;}; + # active = mkColor "#7fc8ff"; # Alternative solid color from KDL + inactive = mkGradient colors.surface1.hex colors.surface2.hex { + angle = 45; + relative-to = "workspace-view"; + }; + # inactive = mkColor "#505050"; # Alternative solid color from KDL + }; + + border = { + enable = true; # Explicitly 'off' in KDL + width = 0; + active = mkColor colors.blue.hex; + inactive = mkColor colors.base.hex; + # active-gradient = ... # Commented out in KDL + # inactive-gradient = ... # Commented out in KDL + }; + + struts = { + # left = 64; # Commented out + # right = 64; # Commented out + # top = 64; # Commented out + # bottom = 64; # Commented out + }; + }; + + # Spawn processes at startup + spawn-at-startup = [ + {command = ["xwayland-satellite"];} + { + command = [ + "${pkgs.writeShellScriptBin "thunderbird-delayed" ''sleep 5; thunderbird''}/bin/thunderbird-delayed" + ]; + } + {command = ["${pkgs.writeShellScriptBin "zen-delayed" ''sleep 5; zen''}/bin/zen-delayed"];} + {command = ["vesktop"];} + {command = ["tidal-hifi"];} + + {command = ["${spawnSlackOnWeekday}/bin/spawn-slack-on-weekday"];} + ]; + + # Prefer server-side decorations + prefer-no-csd = true; + + # Screenshot path + screenshot-path = "~/Pictures/Screenshots/Screenshot from %Y-%m-%d %H-%M-%S.png"; + # screenshot-path = null; # Alternative from KDL comments + + # Animation settings + animations = { + enable = true; # Not explicitly 'off' + # slowdown = 3.0; # Commented out + # Individual animation settings can be added here if needed + }; + + layer-rules = [ + { + matches = [ + {namespace = "notifications$";} + ]; + + block-out-from = "screen-capture"; + } + ]; + + # Window rules + window-rules = [ + # Password manager rule (example from KDL comments) + { + matches = [ + {app-id = "^org\\.keepassxc\\.KeePassXC$";} + {app-id = "^org\\.gnome\\.World\\.Secrets$";} + {app-id = "^1Password$";} + {app-id = "^thunderbird$";} + {app-id = "^signal$";} + {app-id = "^vesktop$";} + {app-id = "^slack$";} + ]; + block-out-from = "screen-capture"; + } + # Rounded corners rule (example from KDL comments) + { + # No matches means apply to all windows + geometry-corner-radius = { + top-left = 12.0; + top-right = 12.0; + bottom-left = 12.0; + bottom-right = 12.0; + }; + clip-to-geometry = true; + } + # Window cast target rule + { + matches = [{is-window-cast-target = true;}]; + focus-ring = { + active = mkColor colors.red.hex; + inactive = mkColor (lerpColor colors.red.hex colors.base.hex 0.5); + }; + shadow = { + # Only color is specified in KDL rule + color = "#7d0d2d70"; + }; + tab-indicator = { + active = mkColor colors.red.hex; + inactive = mkColor (lerpColor colors.red.hex colors.base.hex 0.5); + }; + } + + # fix steam popups holy fuck they're annoying + { + matches = [ + {app-id = "^steam$";} + ]; + + excludes = [{title = "^Steam$";}]; + + open-floating = true; + + open-focused = false; + + default-floating-position = { + relative-to = "bottom-right"; + x = 16; + y = 16; + }; + } + { + matches = [ + { + app-id = "^cyberpunk2077.exe$"; + } + { + app-id = "^Overwatch2.exe$"; + } + ]; + + variable-refresh-rate = true; + } + { + matches = [ + { + at-startup = true; + app-id = "^zen$"; + } + ]; + + open-maximized = true; + + open-on-workspace = "browser"; + } + { + matches = [ + { + at-startup = true; + app-id = "^spotify$"; + } + { + at-startup = true; + app-id = "^vesktop$"; + } + ]; + + open-on-workspace = "chat"; + } + { + matches = [ + { + at-startup = true; + app-id = "^Slack$"; + } + { + at-startup = true; + app-id = "^thunderbird$"; + } + ]; + + open-on-workspace = "work"; + } + ]; + + workspaces."01-browser" = { + name = "browser"; + }; + workspaces."02-code" = { + name = "code"; + }; + workspaces."03-chat" = { + name = "chat"; + }; + workspaces."04-work" = { + name = "work"; + }; + + # Keybindings + binds = + { + "Mod+Shift+Slash" = { + action = actions.show-hotkey-overlay; + }; + + "Mod+Return" = { + action = actions.spawn "kitty"; + }; + "Mod+D" = { + action = actions.spawn "fuzzel"; + }; + # "Mod+T" = { action = actions.spawn "bash" "-c" "notify-send hello && exec alacritty"; }; + + # "Mod+S" = {action = actions.set-dynamic-cast-window;}; + # + # "Mod+Shift+S" = {action = actions.set-dynamic-cast-monitor;}; + # + # "Mod+Z" = {action = actions.clear-dynamic-cast-target;}; + + "Mod+Q" = { + action = actions.close-window; + }; + + "Mod+Left" = { + action = actions.focus-column-left; + }; + "Mod+Down" = { + action = actions.focus-window-down; + }; + "Mod+Up" = { + action = actions.focus-window-up; + }; + "Mod+Right" = { + action = actions.focus-column-right; + }; + "Mod+H" = { + action = actions.focus-column-left; + }; + "Mod+J" = { + action = actions.focus-window-down; + }; + "Mod+K" = { + action = actions.focus-window-up; + }; + "Mod+L" = { + action = actions.focus-column-right; + }; + + "Mod+Ctrl+Left" = { + action = actions.move-column-left; + }; + "Mod+Ctrl+Down" = { + action = actions.move-window-down; + }; + "Mod+Ctrl+Up" = { + action = actions.move-window-up; + }; + "Mod+Ctrl+Right" = { + action = actions.move-column-right; + }; + "Mod+Ctrl+H" = { + action = actions.move-column-left; + }; + "Mod+Ctrl+J" = { + action = actions.move-window-down; + }; + "Mod+Ctrl+K" = { + action = actions.move-window-up; + }; + "Mod+Ctrl+L" = { + action = actions.move-column-right; + }; + + # Alternative commands (commented out in KDL) + # "Mod+J" = { action = actions.focus-window-or-workspace-down; }; + # "Mod+K" = { action = actions.focus-window-or-workspace-up; }; + # "Mod+Ctrl+J" = { action = actions.move-window-down-or-to-workspace-down; }; + # "Mod+Ctrl+K" = { action = actions.move-window-up-or-to-workspace-up; }; + + "Mod+Home" = { + action = actions.focus-column-first; + }; + "Mod+End" = { + action = actions.focus-column-last; + }; + "Mod+Ctrl+Home" = { + action = actions.move-column-to-first; + }; + "Mod+Ctrl+End" = { + action = actions.move-column-to-last; + }; + + "Mod+Shift+Left" = { + action = actions.focus-monitor-left; + }; + "Mod+Shift+Down" = { + action = actions.focus-monitor-down; + }; + "Mod+Shift+Up" = { + action = actions.focus-monitor-up; + }; + "Mod+Shift+Right" = { + action = actions.focus-monitor-right; + }; + "Mod+Shift+H" = { + action = actions.focus-monitor-left; + }; + "Mod+Shift+J" = { + action = actions.focus-workspace-down; + }; + "Mod+Shift+K" = { + action = actions.focus-workspace-up; + }; + "Mod+Shift+L" = { + action = actions.focus-monitor-right; + }; + + "Mod+Ctrl+Shift+F" = { + action = actions.toggle-windowed-fullscreen; + }; + + "Mod+Shift+Ctrl+Left" = { + action = actions.move-column-to-monitor-left; + }; + "Mod+Shift+Ctrl+Down" = { + action = actions.move-column-to-monitor-down; + }; + "Mod+Shift+Ctrl+Up" = { + action = actions.move-column-to-monitor-up; + }; + "Mod+Shift+Ctrl+Right" = { + action = actions.move-column-to-monitor-right; + }; + "Mod+Shift+Ctrl+H" = { + action = actions.move-column-to-monitor-left; + }; + "Mod+Shift+Ctrl+J" = { + action = actions.move-column-to-monitor-down; + }; + "Mod+Shift+Ctrl+K" = { + action = actions.move-column-to-monitor-up; + }; + "Mod+Shift+Ctrl+L" = { + action = actions.move-column-to-monitor-right; + }; + + "Mod+Page_Down" = { + action = actions.focus-workspace-down; + }; + "Mod+Page_Up" = { + action = actions.focus-workspace-up; + }; + "Mod+U" = { + action = actions.focus-workspace-down; + }; + "Mod+I" = { + action = actions.focus-workspace-up; + }; + "Mod+Ctrl+Page_Down" = { + action = actions.move-column-to-workspace-down; + }; + "Mod+Ctrl+Page_Up" = { + action = actions.move-column-to-workspace-up; + }; + "Mod+Ctrl+U" = { + action = actions.move-column-to-workspace-down; + }; + "Mod+Ctrl+I" = { + action = actions.move-column-to-workspace-up; + }; + + "Mod+Shift+Page_Down" = { + action = actions.move-workspace-down; + }; + "Mod+Shift+Page_Up" = { + action = actions.move-workspace-up; + }; + "Mod+Shift+U" = { + action = actions.move-workspace-down; + }; + "Mod+Shift+I" = { + action = actions.move-workspace-up; + }; + + "Mod+WheelScrollDown" = { + cooldown-ms = 150; + action = actions.focus-workspace-down; + }; + "Mod+WheelScrollUp" = { + cooldown-ms = 150; + action = actions.focus-workspace-up; + }; + "Mod+Ctrl+WheelScrollDown" = { + cooldown-ms = 150; + action = actions.move-column-to-workspace-down; + }; + "Mod+Ctrl+WheelScrollUp" = { + cooldown-ms = 150; + action = actions.move-column-to-workspace-up; + }; + + "Mod+WheelScrollRight" = { + action = actions.focus-column-right; + }; + "Mod+WheelScrollLeft" = { + action = actions.focus-column-left; + }; + "Mod+Ctrl+WheelScrollRight" = { + action = actions.move-column-right; + }; + "Mod+Ctrl+WheelScrollLeft" = { + action = actions.move-column-left; + }; + + "Mod+Shift+WheelScrollDown" = { + action = actions.focus-column-right; + }; + "Mod+Shift+WheelScrollUp" = { + action = actions.focus-column-left; + }; + "Mod+Ctrl+Shift+WheelScrollDown" = { + action = actions.move-column-right; + }; + "Mod+Ctrl+Shift+WheelScrollUp" = { + action = actions.move-column-left; + }; + + "Mod+Shift+Comma" = { + action = actions.consume-window-into-column; + }; + "Mod+Period" = { + action = actions.expel-window-from-column; + }; + + "Mod+BracketLeft" = { + action = actions.consume-or-expel-window-left; + }; + "Mod+BracketRight" = { + action = actions.consume-or-expel-window-right; + }; + + "Mod+R" = { + action = actions.switch-preset-column-width; + }; + "Mod+Shift+R" = { + action = actions.switch-preset-window-height; + }; + "Mod+Ctrl+R" = { + action = actions.reset-window-height; + }; + "Mod+F" = { + action = actions.maximize-column; + }; + "Mod+Shift+F" = { + action = actions.fullscreen-window; + }; + "Mod+C" = { + action = actions.center-column; + }; + "Mod+Ctrl+F" = { + action = actions.expand-column-to-available-width; + }; + + "Mod+Shift+V" = { + action = actions.toggle-window-floating; + }; + + "Mod+Minus" = { + action = actions.set-column-width "-10%"; + }; + "Mod+Equal" = { + action = actions.set-column-width "+10%"; + }; + + "Mod+Shift+Minus" = { + action = actions.set-window-height "-10%"; + }; + "Mod+Shift+Equal" = { + action = actions.set-window-height "+10%"; + }; + + "Print" = { + action.screenshot = []; + }; # Empty attrset for default args + "Mod+Shift+E" = { + action = actions.quit {}; + }; # Default: no skip-confirmation + "Ctrl+Alt+Delete" = { + action = actions.quit {}; + }; + + "Mod+Shift+P" = { + action = actions.power-off-monitors; + }; + } + // lib.attrsets.listToAttrs ( + builtins.concatMap (i: [ + { + name = "Mod+${toString i}"; + value.action = actions.focus-workspace i; + } + # FIXME: use this action directly untril sodiboo/niri-flake#1018 is fixed. + { + name = "Mod+Shift+${toString i}"; + value.action.move-window-to-workspace = i; + } + ]) (lib.range 1 9) + ); + }; }; - services.wallpaper.enable = true; + # services.wallpaper.enable = true; }; } diff --git a/modules/nixos/hardware/audio/default.nix b/modules/nixos/hardware/audio/default.nix index dae04eb..7d21446 100644 --- a/modules/nixos/hardware/audio/default.nix +++ b/modules/nixos/hardware/audio/default.nix @@ -24,39 +24,9 @@ in { jack.enable = true; }; - systemd.user.services.cava-combine-inputs = { - description = "Combine MOTU M4 Line Inputs L/R for Cava"; - - # Ensure this runs after pipewire-pulse is started - after = ["pipewire-pulse.service"]; - wants = ["pipewire-pulse.service"]; # Start pipewire-pulse if not already running - - # Make it part of the default user session target - wantedBy = ["default.target"]; - - # Service configuration details - serviceConfig = { - Type = "oneshot"; # Run the command once and exit - # Use RemainAfterExit if you want the service to show as 'active' after running - # RemainAfterExit = true; - - # Command to execute. Use full paths for robustness. - # We use sh -c to run multiple commands sequentially. - # pactl is provided by the pulseaudio package. - ExecStart = "${pkgs.writeShellScriptBin "cava-start" '' - echo "Attempting to load Cava combine modules..." - # Load null sink (returns non-zero if it fails AND module doesn't exist) - ${pkgs.pulseaudio}/bin/pactl load-module module-null-sink sink_name=cava-line-in sink_properties=device.description="Cava_Combined_LineIn" - # Load loopbacks (returns non-zero on failure) - ${pkgs.pulseaudio}/bin/pactl load-module module-loopback source="alsa_input.usb-MOTU_M4_M4MA03F7DV-00.HiFi__Line3__source" sink=cava-line-in latency_msec=10 - ${pkgs.pulseaudio}/bin/pactl load-module module-loopback source="alsa_input.usb-MOTU_M4_M4MA03F7DV-00.HiFi__Line4__source" sink=cava-line-in latency_msec=10 - echo "Finished loading Cava combine modules (ignore errors if already loaded)." - # Exit successfully even if modules were already loaded (pactl might return 0) - exit 0 - ''}/bin/cava-start"; - - # Prevent service from restarting automatically - Restart = "no"; + services.pipewire.extraConfig.pipewire."92-low-latency" = { + "context.properties" = { + "default.clock.rate" = 192000; }; }; }; diff --git a/modules/nixos/hardware/gpu-passthru/default.nix b/modules/nixos/hardware/gpu-passthru/default.nix index f88c4a9..b28ad46 100644 --- a/modules/nixos/hardware/gpu-passthru/default.nix +++ b/modules/nixos/hardware/gpu-passthru/default.nix @@ -110,14 +110,6 @@ with lib.custom; let libvirtd-cfg = config.virtualisation.libvirtd; qemuConfigFile = pkgs.writeText "qemu.conf" '' - ${optionalString libvirtd-cfg.qemu.ovmf.enable '' - nvram = [ - "/run/libvirt/nix-ovmf/AAVMF_CODE.fd:/run/libvirt/nix-ovmf/AAVMF_VARS.fd", - "/run/libvirt/nix-ovmf/AAVMF_CODE.ms.fd:/run/libvirt/nix-ovmf/AAVMF_VARS.ms.fd", - "/run/libvirt/nix-ovmf/OVMF_CODE.fd:/run/libvirt/nix-ovmf/OVMF_VARS.fd", - "/run/libvirt/nix-ovmf/OVMF_CODE.ms.fd:/run/libvirt/nix-ovmf/OVMF_VARS.ms.fd" - ] - ''} ${optionalString (!libvirtd-cfg.qemu.runAsRoot) '' user = "qemu-libvirtd" group = "qemu-libvirtd" @@ -162,16 +154,6 @@ in { package = pkgs.qemu_kvm; runAsRoot = true; swtpm.enable = true; - ovmf = { - enable = true; - packages = [ - (pkgs.OVMF.override { - secureBoot = true; - tpmSupport = true; - }) - .fd - ]; - }; }; }; @@ -217,20 +199,6 @@ in { done ln -s --force ${libvirtd-cfg.qemu.package}/bin/qemu-pr-helper /run/${dirName}/nix-helpers/ - - ${optionalString libvirtd-cfg.qemu.ovmf.enable ( - let - ovmfpackage = pkgs.buildEnv { - name = "qemu-ovmf"; - paths = libvirtd-cfg.qemu.ovmf.packages; - }; - in '' - ln -s --force ${ovmfpackage}/FV/AAVMF_CODE{,.ms}.fd /run/${dirName}/nix-ovmf/ - ln -s --force ${ovmfpackage}/FV/OVMF_CODE{,.ms}.fd /run/${dirName}/nix-ovmf/ - ln -s --force ${ovmfpackage}/FV/AAVMF_VARS{,.ms}.fd /run/${dirName}/nix-ovmf/ - ln -s --force ${ovmfpackage}/FV/OVMF_VARS{,.ms}.fd /run/${dirName}/nix-ovmf/ - '' - )} ''; system.activationScripts.libvirt-hooks.text = '' diff --git a/modules/nixos/hardware/nvidia/default.nix b/modules/nixos/hardware/nvidia/default.nix index 3b362b5..36abc90 100644 --- a/modules/nixos/hardware/nvidia/default.nix +++ b/modules/nixos/hardware/nvidia/default.nix @@ -44,12 +44,12 @@ in { # Optionally, you may need to select the appropriate driver version for your specific GPU. package = config.boot.kernelPackages.nvidiaPackages.mkDriver { - version = "580.82.07"; - sha256_64bit = "sha256-Bh5I4R/lUiMglYEdCxzqm3GLolQNYFB0/yJ/zgYoeYw="; - sha256_aarch64 = "sha256-or3//aV4TQcPDgcLxFB75H/kB8n+3RzwTO1C2ZbJAJI="; - openSha256 = "sha256-8/7ZrcwBMgrBtxebYtCcH5A51u3lAxXTCY00LElZz08="; - settingsSha256 = "sha256-lx1WZHsW7eKFXvi03dAML6BoC5glEn63Tuiz3T867nY="; - persistencedSha256 = "sha256-1JCk2T3H5NNFQum0gA9cnio31jc0pGvfGIn2KkAz9kA="; + version = "580.82.09"; + sha256_64bit = "sha256-Puz4MtouFeDgmsNMKdLHoDgDGC+QRXh6NVysvltWlbc="; + sha256_aarch64 = "sha256-6tHiAci9iDTKqKrDIjObeFdtrlEwjxOHJpHfX4GMEGQ="; + openSha256 = "sha256-YB+mQD+oEDIIDa+e8KX1/qOlQvZMNKFrI5z3CoVKUjs="; + settingsSha256 = "sha256-um53cr2Xo90VhZM1bM2CH4q9b/1W2YOqUcvXPV6uw2s="; + persistencedSha256 = "sha256-lbYSa97aZ+k0CISoSxOMLyyMX//Zg2Raym6BC4COipU="; }; }; diff --git a/modules/nixos/protocols/wayland/default.nix b/modules/nixos/protocols/wayland/default.nix index f98739c..d1e51ac 100644 --- a/modules/nixos/protocols/wayland/default.nix +++ b/modules/nixos/protocols/wayland/default.nix @@ -27,8 +27,8 @@ in { }; }; - services.xserver.displayManager.gdm.enable = false; - services.xserver.displayManager.gdm.wayland = true; + services.displayManager.gdm.enable = false; + services.displayManager.gdm.wayland = true; # services.displayManager.sddm.enable = true; # services.displayManager.sddm.package = lib.mkForce pkgs.kdePackages.sddm; diff --git a/modules/nixos/services/crypto/default.nix b/modules/nixos/services/crypto/default.nix index 61b1148..8f0ca3b 100644 --- a/modules/nixos/services/crypto/default.nix +++ b/modules/nixos/services/crypto/default.nix @@ -14,18 +14,18 @@ in { config = mkIf cfg.enable { services.wg-container.enable = true; - systemd.services.monero.vpnConfinement = { - enable = true; - vpnNamespace = "wg"; - }; - - services.monero = { - enable = true; - mining.enable = false; - rpc = {address = "192.168.15.1";}; - extraConfig = '' - confirm-external-bind=1 - ''; - }; + # systemd.services.monero.vpnConfinement = { + # enable = true; + # vpnNamespace = "wg"; + # }; + # + # services.monero = { + # enable = true; + # mining.enable = false; + # rpc = {address = "192.168.15.1";}; + # extraConfig = '' + # confirm-external-bind=1 + # ''; + # }; }; } diff --git a/modules/nixos/services/mail/default.nix b/modules/nixos/services/mail/default.nix index c2c02a1..56881a2 100644 --- a/modules/nixos/services/mail/default.nix +++ b/modules/nixos/services/mail/default.nix @@ -33,7 +33,7 @@ in { gitlab-email-pw-hashed.file = ./sec/gitlab-email-pw-hashed.age; }; - mailserver = { + mailserver = rec { enable = true; fqdn = "mail.zoeys.email"; domains = ["zoeys.email" "zoeys.cloud" "zoeys.computer" "zackmyers.io" "zacharymyers.com" "pictureofcat.com"]; @@ -64,27 +64,23 @@ in { }; }; - certificateScheme = "acme-nginx"; + enableManageSieve = true; + + dmarcReporting.enable = true; + + x509.useACMEHost = fqdn; virusScanning = true; stateVersion = 3; }; - # services.nginx = { - # virtualHosts = { - # "cal.zoeys.cloud" = { - # forceSSL = true; - # enableACME = true; - # locations."/" = { - # proxyPass = "http://localhost:5232/"; - # extraConfig = '' - # proxy_set_header X-Script-Name /; - # proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - # proxy_pass_header Authorization; - # ''; - # }; - # }; - # }; - # }; + services.nginx = { + virtualHosts = { + "${config.mailserver.fqdn}" = { + forceSSL = true; + enableACME = true; + }; + }; + }; services.roundcube = { enable = true; diff --git a/modules/nixos/services/matrix/default.nix b/modules/nixos/services/matrix/default.nix new file mode 100644 index 0000000..688a731 --- /dev/null +++ b/modules/nixos/services/matrix/default.nix @@ -0,0 +1,146 @@ +{ + lib, + config, + pkgs, + ... +}: +with lib; +with lib.custom; let + cfg = config.services.matrix; +in { + options.services.matrix = with types; { + enable = mkBoolOpt false "Matrix Web Server"; + }; + config = mkIf cfg.enable { + sops = { + defaultSopsFile = ../../../.sops.yaml; + gnupg.home = "/var/lib/sops"; + gnupg.sshKeyPaths = []; + + secrets = { + "password" = { + sopsFile = ../../../../secrets/matrix-db.yaml; + owner = "root"; + group = "root"; + mode = "0444"; + neededForUsers = true; + }; + }; + }; + + services.matrix-synapse-next = { + enable = true; + + workers.federationSenders = 2; + workers.federationReceivers = 2; + workers.initialSyncers = 2; + workers.normalSyncers = 2; + workers.eventPersisters = 2; + workers.useUserDirectoryWorker = true; + + enableNginx = true; + + settings = { + server_name = "zoeys.cloud"; + + recaptcha_public_key = "6LdcENQrAAAAAKFi-gTzPnf6Q2xq7yTmIYv6Xw5o"; + recaptcha_private_key = "6LdcENQrAAAAABfnE6TVkMWtRrw0OZqZEfYaGm7m"; + + enable_registration = true; + enable_registration_captcha = true; + + database = { + name = "psycopg2"; + args = { + host = "localhost"; + user = "synapse"; + password = "synapse"; + dbname = "synapse"; + }; + }; + }; + }; + + services.redis.servers."".enable = true; + + services.coturn = rec { + enable = true; + no-cli = true; + no-tcp-relay = true; + min-port = 49000; + max-port = 50000; + use-auth-secret = true; + static-auth-secret = "will be world readable for local users :("; + realm = "turn.zoeys.cloud"; + cert = "${config.security.acme.certs.${realm}.directory}/full.pem"; + pkey = "${config.security.acme.certs.${realm}.directory}/key.pem"; + extraConfig = '' + verbose + + no-multicast-peers + denied-peer-ip=0.0.0.0-0.255.255.255 + denied-peer-ip=10.0.0.0-10.255.255.255 + denied-peer-ip=100.64.0.0-100.127.255.255 + denied-peer-ip=127.0.0.0-127.255.255.255 + denied-peer-ip=169.254.0.0-169.254.255.255 + denied-peer-ip=172.16.0.0-172.31.255.255 + denied-peer-ip=192.0.0.0-192.0.0.255 + denied-peer-ip=192.0.2.0-192.0.2.255 + denied-peer-ip=192.88.99.0-192.88.99.255 + denied-peer-ip=192.168.0.0-192.168.255.255 + denied-peer-ip=198.18.0.0-198.19.255.255 + denied-peer-ip=198.51.100.0-198.51.100.255 + denied-peer-ip=203.0.113.0-203.0.113.255 + denied-peer-ip=240.0.0.0-255.255.255.255 + denied-peer-ip=::1 + denied-peer-ip=64:ff9b::-64:ff9b::ffff:ffff + denied-peer-ip=::ffff:0.0.0.0-::ffff:255.255.255.255 + denied-peer-ip=100::-100::ffff:ffff:ffff:ffff + denied-peer-ip=2001::-2001:1ff:ffff:ffff:ffff:ffff:ffff:ffff + denied-peer-ip=2002::-2002:ffff:ffff:ffff:ffff:ffff:ffff:ffff + denied-peer-ip=fc00::-fdff:ffff:ffff:ffff:ffff:ffff:ffff:ffff + denied-peer-ip=fe80::-febf:ffff:ffff:ffff:ffff:ffff:ffff:ffff + ''; + }; + + networking.firewall = { + interfaces.ens3 = let + range = with config.services.coturn; [ + { + from = min-port; + to = max-port; + } + ]; + in { + allowedUDPPortRanges = range; + allowedUDPPorts = [3478 5349]; + allowedTCPPortRanges = []; + allowedTCPPorts = [3478 5349]; + }; + }; + + services.nginx.virtualHosts.${config.services.coturn.realm} = { + forceSSL = true; + enableACME = true; + locations."/" = { + return = "200 'Hai :3'"; + }; + }; + + users.groups.turnserver.members = ["nginx"]; + + security.acme.certs.${config.services.coturn.realm} = { + /* + insert here the right configuration to obtain a certificate + */ + postRun = "systemctl restart coturn.service"; + group = "turnserver"; + }; + # configure synapse to point users to coturn + services.matrix-synapse.settings = with config.services.coturn; { + turn_uris = ["turn:${realm}:3478?transport=udp" "turn:${realm}:3478?transport=tcp"]; + turn_shared_secret = static-auth-secret; + turn_user_lifetime = "1h"; + }; + }; +} diff --git a/modules/nixos/services/web/nginx/default.nix b/modules/nixos/services/web/nginx/default.nix index e141150..4677f58 100644 --- a/modules/nixos/services/web/nginx/default.nix +++ b/modules/nixos/services/web/nginx/default.nix @@ -20,7 +20,7 @@ in { services.nginx = { enable = true; - package = pkgs.nginxStable.override {openssl = pkgs.libressl;}; + # package = pkgs.nginxStable.override {openssl = pkgs.libressl;}; recommendedProxySettings = true; recommendedGzipSettings = true; recommendedOptimisation = true; diff --git a/modules/nixos/sites/code/default.nix b/modules/nixos/sites/code/default.nix index 4af0c2f..ccb3085 100644 --- a/modules/nixos/sites/code/default.nix +++ b/modules/nixos/sites/code/default.nix @@ -36,7 +36,7 @@ in { catppuccin.forgejo.enable = false; services.gitea-actions-runner = { - package = pkgs.forgejo-actions-runner; + package = pkgs.forgejo-runner; instances.default = { enable = true; name = "monolith"; diff --git a/modules/nixos/sites/pterodactyl/default.nix b/modules/nixos/sites/pterodactyl/default.nix index 6de1a77..82e3581 100644 --- a/modules/nixos/sites/pterodactyl/default.nix +++ b/modules/nixos/sites/pterodactyl/default.nix @@ -148,6 +148,8 @@ in { ''; }; + security.acme.certs."node.nyc.zackmyers.io".keyType = "rsa4096"; + services.phpfpm = { phpOptions = '' extension=${pkgs.php83Extensions.openssl}/lib/php/extensions/openssl.so diff --git a/modules/nixos/ui/fonts/default.nix b/modules/nixos/ui/fonts/default.nix index 014a552..59cf721 100644 --- a/modules/nixos/ui/fonts/default.nix +++ b/modules/nixos/ui/fonts/default.nix @@ -57,7 +57,7 @@ in { # }) noto-fonts noto-fonts-cjk-sans - noto-fonts-emoji + noto-fonts-color-emoji jetbrains-mono nerd-fonts.iosevka nerd-fonts.zed-mono diff --git a/overlays/monado/default.nix b/overlays/monado/default.nix new file mode 100644 index 0000000..e559a40 --- /dev/null +++ b/overlays/monado/default.nix @@ -0,0 +1,10 @@ +{...}: final: prev: { + monado = prev.monado.overrideAttrs (old: { + buildInputs = builtins.filter (x: x != prev.opencv) old.buildInputs; + cmakeFlags = + (old.cmakeFlags or []) + ++ [ + "-DBUILD_WITH_OPENCV=OFF" + ]; + }); +} diff --git a/packages/atproto-pds/default.nix b/packages/atproto-pds/default.nix index f6d59be..5bc4e99 100644 --- a/packages/atproto-pds/default.nix +++ b/packages/atproto-pds/default.nix @@ -7,7 +7,7 @@ owner = "bluesky-social"; repo = "pds"; rev = "main"; - hash = "sha256-dEB5u++Zx+F4TH5q44AF/tuwAhLEyYT+U5/18viT4sw="; + hash = "sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="; }; in inputs.pnpm2nix.packages.${pkgs.system}.mkPnpmPackage { diff --git a/packages/discord-music-presence/default.nix b/packages/discord-music-presence/default.nix new file mode 100644 index 0000000..3091a86 --- /dev/null +++ b/packages/discord-music-presence/default.nix @@ -0,0 +1,47 @@ +{ + fetchurl, + stdenv, + autoPatchelfHook, + xorg, + libGL, + libgcc, + systemdLibs, + libz, + glibc, + fontconfig, + e2fsprogs, +}: +stdenv.mkDerivation { + src = fetchurl { + url = "https://cdn.discordapp.com/attachments/1306271439493533776/1414196667304902707/music-presence-2.3.3-preview.6-linux-x86_64.tar.gz?ex=68beb0c7&is=68bd5f47&hm=09a61b4eeadb1f0b61ed70a6d1a14fe267f320027e0aae8dca1923d0813b063a&"; + hash = "sha256-KqGnG4xdZcOQJQXrNU3leLXDNjNFAVjvuDUKAR38IBs="; + }; + + nativeBuildInputs = [autoPatchelfHook]; + + preBuild = '' + addAutoPatchelfSearchPath ./usr/plugins/ + addAutoPatchelfSearchPath ./usr/bin/ + addAutoPatchelfSearchPath ./usr/lib/ + ''; + + buildInputs = [ + xorg.libX11 + xorg.libxcb + libGL + libgcc + systemdLibs + libz + glibc + fontconfig + e2fsprogs + ]; + + installPhase = '' + runHook preInstall + cp -r . $out + runHook postInstall + ''; + + name = "discord-music-presence"; +} diff --git a/patch.patch b/patch.patch deleted file mode 100644 index c8d3f7d..0000000 --- a/patch.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 2ce643428722dc0d6e181ea4745097c6e18feca2 Mon Sep 17 00:00:00 2001 -From: Lars Kellogg-Stedman -Date: Wed, 7 May 2025 21:45:00 -0400 -Subject: [PATCH] Fix broken integration with Mason 2.0.0 - ---- - lua/lazyvim/plugins/lsp/init.lua | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/lua/lazyvim/plugins/lsp/init.lua b/lua/lazyvim/plugins/lsp/init.lua -index b5cba5f..1dfc8c7 100644 ---- a/lua/lazyvim/plugins/lsp/init.lua -+++ b/lua/lazyvim/plugins/lsp/init.lua -@@ -212,7 +212,7 @@ return { - local have_mason, mlsp = pcall(require, "mason-lspconfig") - local all_mslp_servers = {} - if have_mason then -- all_mslp_servers = vim.tbl_keys(require("mason-lspconfig.mappings.server").lspconfig_to_package) -+ all_mslp_servers = require("mason-lspconfig").get_mappings().lspconfig_to_package - end - - local ensure_installed = {} ---@type string[] --- -2.49.0 diff --git a/secrets/matrix-db.yaml b/secrets/matrix-db.yaml new file mode 100644 index 0000000..579c3c8 --- /dev/null +++ b/secrets/matrix-db.yaml @@ -0,0 +1,26 @@ +password: ENC[AES256_GCM,data:0fl9Py+dOU7yBG5+S9oikr/uVXM=,iv:ivZPbvIqCNH974p24ZXgobDQjZh4EaRqr9Mav0Ofv7Q=,tag:rPY6loyq5wCe/SXKsz39LA==,type:str] +sops: + shamir_threshold: 1 + age: + - recipient: age1l6v7c5cp6sh6typgskwfufzkn3qw4av7r42z7lqyns6mtupytqhs2fg49u + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBOZElOWnpHWC9mdGhOaVRQ + U2d1Z3U0Uk9sZGhZWFp5ejRLV1FEbUpFcVNNCm1WN0xrV1FkLzB5TXBWa3dnMDFD + eEI5L0hPbk1CM0dESWsxRXRKemp0RG8KLS0tIFNWR0M4a0tHSjR3ODV6aGpHQzZy + Y3hyR2p4Qk52S2FRVnFQK2pTb21sK2cKfTp78UNAFB4umRGvwDq782dhBYPeO6ms + wx9+gVmeRbHWC2SoVvjEpsK7FpSQDV5T6qDZP+L3DwWRKM2OfAdjRA== + -----END AGE ENCRYPTED FILE----- + - recipient: age16p54d6tx3mg0htkzj43q2mzpvlqj4gz63mz5qzx8mpsp5zx4xexsszdhuk + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBXTXUwaHhQdHBBVWVSMmNH + dUNJUys2VnhPbjdYd3NCUDM1dXV5am9FNkhzCnVmMnBOcmtrNVE5d012NzlsRm54 + SDlQekQxR3JkbENJbXkxbGdSa3BGMVkKLS0tIEV1b3pJbHdFbXMzSGRrOXpPUW1U + OFpZeVVYYzJyMVMxOVBoNzFDVFdDc0UKu0T/bsKe7qaBbqWyalMEZ+MzuhZN2Jxk + mAQsc9ZAZeRda/0IjpnWjwfxCbt99wMKms1cPyDwGxRdDu5xSNKmUg== + -----END AGE ENCRYPTED FILE----- + lastmodified: "2025-09-20T18:43:33Z" + mac: ENC[AES256_GCM,data:n0J6Go+8GfyG9CO/o2DAcaUCzEWjANRy9ZFHkoogqKX1N6oCFWnojqx3qeUw1QlzNHKYsCVRawsYp/oezox9wyjH/EvKS1Ocxm4b6segIFL38y2zllR+AKDu7FsfEz+nkgp8VrzruaoobTBp4HLxNvlVKg9sWLboIDw38jt58EA=,iv:Lz3ph/lelLNyIVlWRowW3QZQoZw2VhCGUhA0kJHM3wc=,tag:ucu/ee0YhDO53xCBtkOHfg==,type:str] + unencrypted_suffix: _unencrypted + version: 3.10.2 diff --git a/systems/x86_64-linux/earth/default.nix b/systems/x86_64-linux/earth/default.nix index f7b262b..44c60a7 100644 --- a/systems/x86_64-linux/earth/default.nix +++ b/systems/x86_64-linux/earth/default.nix @@ -6,7 +6,10 @@ config, ... }: { - imports = [./disk-config.nix ./hardware-configuration.nix]; + imports = [ + ./disk-config.nix + ./hardware-configuration.nix + ]; nix.settings = { trusted-users = ["zoey"]; @@ -59,13 +62,24 @@ configuration = { services.desktopManager.plasma6.enable = true; services.displayManager.sddm.enable = true; - services.xserver.displayManager.gdm.enable = lib.mkForce false; + services.displayManager.gdm.enable = lib.mkForce false; programs.seahorse.enable = lib.mkForce false; }; }; }; + # services.monado = { + # enable = true; + # defaultRuntime = true; + # }; + # + # systemd.user.services.monado.environment = { + # STEAMVR_LH_ENABLE = "1"; + # XRT_COMPOSITOR_COMPUTE = "1"; + # XRT_COMPOSITOR_FORCE_WAYLAND_DIRECT = "1"; + # }; + programs.steam = { enable = true; extraPackages = with pkgs; [ @@ -114,8 +128,8 @@ services.xserver.enable = true; services.lorri.enable = true; services.udisks2.enable = true; - services.crypto.enable = true; - services.torrent.enable = true; + services.crypto.enable = false; + services.torrent.enable = false; services.gnome.gnome-keyring.enable = true; # services.solaar = { # enable = true; @@ -125,6 +139,8 @@ polkitPolicyOwnerUsername = "zoey"; }; + security.polkit.enable = true; + # Bootloader. boot.loader.systemd-boot.enable = lib.mkForce false; boot.lanzaboote = { @@ -154,7 +170,6 @@ # services.scx.package = pkgs.scx_git.full; boot.kernelPackages = pkgs.linuxPackages_zen; - # CachyOS-inspired kernel parameters for better desktop responsiveness and gaming boot.kernelParams = [ "nowatchdog" "preempt=full" @@ -162,11 +177,6 @@ "tsc=reliable" "clocksource=tsc" "preempt=voluntary" - "futex.futex2_interface=1" # Better Wine/Proton compatibility - "NVreg_UsePageAttributeTable=1" # Improved GPU memory management - "io_uring.sqpoll=2" # Modern I/O scheduler polling - "transparent_hugepage=madvise" # Better memory management - "elevator=bfq" # Better I/O scheduling for gaming ]; boot.supportedFilesystems = ["ntfs"]; @@ -190,17 +200,6 @@ pkgs.kdiskmark pkgs.mangohud pkgs.sops - inputs.quickshell.packages.${system}.default - (pkgs.shadps4.overrideAttrs { - version = "0.9.0"; - src = pkgs.fetchFromGitHub { - owner = "AzaharPlus"; - repo = "shadPS4Plus"; - tag = "SHADPS4PLUS_0_9_0_A"; - hash = "sha256-ZwP+bOE4roWt51Ii53blDZzdq/SxK4Q69I4rLCNARLA="; - fetchSubmodules = true; - }; - }) (pkgs.lutris.override { extraPkgs = pkgs: [ pkgs.winetricks @@ -214,14 +213,15 @@ pkgs.protonup-qt pkgs.restic pkgs.qt5.qtwayland - pkgs.vkBasalt # Vulkan post-processing layer for better visuals + pkgs.vkbasalt # Vulkan post-processing layer for better visuals pkgs.goverlay # MangoHud and vkBasalt GUI configurator pkgs.cpupower-gui # CPU frequency control GUI pkgs.ananicy-cpp # Process priority daemon - (inputs.umu.packages.${system}.umu-launcher.override { - withTruststore = true; - withDeltaUpdates = true; - }) + pkgs.umu-launcher + # (inputs.umu.packages.${system}.umu-launcher.override { + # withTruststore = true; + # withDeltaUpdates = true; + # }) inputs.agenix.packages.${system}.agenix ]; @@ -231,12 +231,18 @@ users.users.zoey = { isNormalUser = true; description = "zoey"; - extraGroups = ["networkmanager" "wheel" "docker" "libvirtd" "plugdev"]; + extraGroups = [ + "networkmanager" + "wheel" + "docker" + "libvirtd" + "plugdev" + ]; shell = pkgs.fish; initialHashedPassword = "$6$rounds=2000000$rFBJH7LwdEHvv.0i$HdHorWqp8REPdWPk5fEgZXX1TujRJkMxumGK0f0elFN0KRPlBjJMW2.35A.ID/o3eC/hGTwbSJAcJcwVN2zyV/"; }; - services.gnome.core-utilities.enable = true; # Enable core GNOME utilities + services.gnome.core-apps.enable = true; # Enable core GNOME utilities users.groups.plugdev = {}; @@ -256,7 +262,7 @@ ports = [22]; }; - networking.firewall.allowedTCPPorts = [22]; + networking.firewall.allowedTCPPorts = [22 1069]; services.samba = { enable = true; diff --git a/systems/x86_64-linux/pluto/default.nix b/systems/x86_64-linux/pluto/default.nix index e15a1ab..3372d60 100644 --- a/systems/x86_64-linux/pluto/default.nix +++ b/systems/x86_64-linux/pluto/default.nix @@ -97,7 +97,7 @@ pterodactyl.enable = true; search.enable = true; map.enable = true; - hydra.enable = true; + hydra.enable = false; cache.enable = true; minio.enable = true; immich.enable = true; @@ -105,7 +105,7 @@ sourcehut.enable = false; forgejo.enable = true; zoeycomputer = { - enable = true; + enable = false; domain = "zoeys.computer"; phx = { database = { diff --git a/systems/x86_64-linux/venus/default.nix b/systems/x86_64-linux/venus/default.nix index 790b834..825fecc 100644 --- a/systems/x86_64-linux/venus/default.nix +++ b/systems/x86_64-linux/venus/default.nix @@ -45,6 +45,7 @@ services.web.nginx.enable = true; services.mail.enable = true; + services.matrix.enable = false; environment.systemPackages = map lib.lowPrio [ pkgs.curl