From dd42457fd66328d1ac850498bba865c721db6075 Mon Sep 17 00:00:00 2001 From: scouckel Date: Sun, 5 Apr 2026 20:57:53 -0400 Subject: merge things idk --- modules/hosts/tiamat/hardware.nix | 52 +++++++++++++--------- modules/hosts/tiamat/tiamat.nix | 17 +++++-- modules/nixosModules/desktop/default.nix | 10 ++++- modules/nixosModules/desktop/mullvad.nix | 9 ++-- modules/nixosModules/desktop/pipewire.nix | 2 +- modules/nixosModules/desktop/tailscale.nix | 19 ++++---- modules/nixosModules/server/default.nix | 5 ++- modules/nixosModules/server/navidrome.nix | 4 +- modules/nixosModules/server/tailscale.nix | 9 ++-- modules/packages/environment.nix | 2 + modules/packages/fish.nix | 6 ++- modules/packages/kitty.nix | 1 + modules/packages/niri/hosts/tiamat.nix | 15 ++++++- modules/packages/niri/package.nix | 9 ++-- modules/packages/niri/settings.nix | 71 ++++++++++++++++++++++++++++-- modules/packages/noctalia/noctalia.json | 31 ++++++------- modules/packages/nvf/_nvfConfig.nix | 12 +++-- modules/packages/nvf/package.nix | 14 +++--- modules/packages/zen-browser.nix | 6 ++- 19 files changed, 205 insertions(+), 89 deletions(-) (limited to 'modules') diff --git a/modules/hosts/tiamat/hardware.nix b/modules/hosts/tiamat/hardware.nix index eadfd00..e9f84f4 100644 --- a/modules/hosts/tiamat/hardware.nix +++ b/modules/hosts/tiamat/hardware.nix @@ -1,28 +1,38 @@ -{ self, inputs, ... }: { - flake.nixosModules.tiamatHardware = { config, lib, pkgs, modulesPath, ... }: { - imports = - [ (modulesPath + "/installer/scan/not-detected.nix") - ]; +{ + self, + inputs, + ... +}: { + flake.nixosModules.tiamatHardware = { + config, + lib, + pkgs, + modulesPath, + ... + }: { + imports = [ + (modulesPath + "/installer/scan/not-detected.nix") + ]; - boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "thunderbolt" "usb_storage" "uas" "sd_mod" ]; - boot.initrd.kernelModules = [ ]; - boot.kernelModules = [ "kvm-amd" ]; - boot.extraModulePackages = [ ]; + boot.initrd.availableKernelModules = ["nvme" "xhci_pci" "thunderbolt" "usb_storage" "uas" "sd_mod"]; + boot.initrd.kernelModules = []; + boot.kernelModules = ["kvm-amd"]; + boot.extraModulePackages = []; - fileSystems."/" = - { device = "/dev/disk/by-uuid/0983bf69-0f71-4c49-885b-0b5c09a19429"; - fsType = "ext4"; - }; + fileSystems."/" = { + device = "/dev/disk/by-uuid/0983bf69-0f71-4c49-885b-0b5c09a19429"; + fsType = "ext4"; + }; - fileSystems."/boot" = - { device = "/dev/disk/by-uuid/756C-8B9B"; - fsType = "vfat"; - options = [ "fmask=0077" "dmask=0077" ]; - }; + fileSystems."/boot" = { + device = "/dev/disk/by-uuid/756C-8B9B"; + fsType = "vfat"; + options = ["fmask=0077" "dmask=0077"]; + }; - swapDevices = - [ { device = "/dev/disk/by-uuid/50dd07e0-bf93-450c-a91b-aa73a18a8224"; } - ]; + swapDevices = [ + {device = "/dev/disk/by-uuid/50dd07e0-bf93-450c-a91b-aa73a18a8224";} + ]; # Enables DHCP on each ethernet and wireless interface. In case of scripted networking # (the default) this is the recommended approach. When using systemd-networkd it's diff --git a/modules/hosts/tiamat/tiamat.nix b/modules/hosts/tiamat/tiamat.nix index 317df61..d41ce40 100644 --- a/modules/hosts/tiamat/tiamat.nix +++ b/modules/hosts/tiamat/tiamat.nix @@ -1,6 +1,8 @@ -{ inputs, self, ... }: - { + inputs, + self, + ... +}: { imports = [ inputs.home-manager.flakeModules.home-manager ]; @@ -16,22 +18,29 @@ self.nixosModules.tiamatNiri self.nixosModules.desktop + self.nixosModules.nasClient ]; }; - flake.nixosModules.tiamat = { pkgs, ... }: { + flake.nixosModules.tiamat = {pkgs, ...}: { hostOptions = { host.name = "tiamat"; user.name = "jck"; user.email = "jckrinsky@gmail.com"; }; + boot.kernelParams = ["quiet"]; + hardware.graphics = { enable = true; enable32Bit = true; }; - networking.nameservers = [ "1.1.1.1" "9.9.9.9" ]; + boot.initrd.kernelModules = ["amdgpu"]; + + hardware.cpu.amd.updateMicrocode = true; + + networking.nameservers = ["1.1.1.1" "9.9.9.9"]; services.automatic-timezoned.enable = true; diff --git a/modules/nixosModules/desktop/default.nix b/modules/nixosModules/desktop/default.nix index 411c361..3c48310 100644 --- a/modules/nixosModules/desktop/default.nix +++ b/modules/nixosModules/desktop/default.nix @@ -1,4 +1,8 @@ -{ self, inputs, ... }: { +{ + self, + inputs, + ... +}: { flake.nixosModules.desktop = {pkgs, ...}: { imports = [ self.nixosModules.gaming @@ -10,7 +14,7 @@ ]; hardware.bluetooth.enable = true; - environment.systemPackages = [ + environment.systemPackages = [ self.packages.${pkgs.stdenv.hostPlatform.system}.zen-browser pkgs.bitwarden-desktop @@ -30,6 +34,8 @@ pkgs.wineWow64Packages.stable ]; + boot.plymouth.enable = true; + programs.nix-ld.enable = true; services.upower.enable = true; diff --git a/modules/nixosModules/desktop/mullvad.nix b/modules/nixosModules/desktop/mullvad.nix index 9f2892c..0ac8fb9 100644 --- a/modules/nixosModules/desktop/mullvad.nix +++ b/modules/nixosModules/desktop/mullvad.nix @@ -1,22 +1,25 @@ {lib, ...}: { - flake.nixosModules.mullvad = { pkgs, ... }: { + flake.nixosModules.mullvad = {pkgs, ...}: { services.mullvad-vpn = { enable = true; package = pkgs.mullvad-vpn; enableExcludeWrapper = true; }; + services.resolved.enable = true; + # allow tailscale traffic through + networking.nftables.enable = true; networking.nftables.tables.mullvad_tailscale = { content = '' chain output { - type route hook output priority 0; policy accept; + type route hook output priority -100; policy accept; ip daddr 100.64.0.0/10 ct mark set 0x00000f41 meta mark set 0x6d6f6c65; } ''; family = "inet"; }; - systemd.services.tailscaled.serviceConfig.Environment = [ "TS_DEBUG_FIREWALL_MODE=nftables" ]; + systemd.services.tailscaled.serviceConfig.Environment = ["TS_DEBUG_FIREWALL_MODE=nftables"]; }; } diff --git a/modules/nixosModules/desktop/pipewire.nix b/modules/nixosModules/desktop/pipewire.nix index bf05dbd..ec663fb 100644 --- a/modules/nixosModules/desktop/pipewire.nix +++ b/modules/nixosModules/desktop/pipewire.nix @@ -9,6 +9,6 @@ socketActivation = true; }; - environment.systemPackages = [ pkgs.pwvucontrol ]; + environment.systemPackages = [pkgs.pwvucontrol]; }; } diff --git a/modules/nixosModules/desktop/tailscale.nix b/modules/nixosModules/desktop/tailscale.nix index f2ab9fc..a9d2968 100644 --- a/modules/nixosModules/desktop/tailscale.nix +++ b/modules/nixosModules/desktop/tailscale.nix @@ -1,22 +1,23 @@ -{ lib, ... }: { - flake.nixosModules.tailscaleDesktop = { config, ... }: { +{lib, ...}: { + flake.nixosModules.tailscaleDesktop = {config, ...}: { services.tailscale = { enable = true; useRoutingFeatures = "client"; openFirewall = true; + extraUpFlags = [ "--accept-dns=false" ]; }; - + networking.firewall = { - enable = lib.mkDefault true; - trustedInterfaces = [ "tailscale0" ]; - allowedUDPPorts = [ config.services.tailscale.port ]; + enable = lib.mkDefault false; + trustedInterfaces = ["tailscale0"]; + allowedUDPPorts = [config.services.tailscale.port]; }; }; - flake.nixosModules.nasClient = { pkgs, ... }: { - boot.supportedFilesystems = [ "nfs" ]; + flake.nixosModules.nasClient = {pkgs, ...}: { + boot.supportedFilesystems = ["nfs"]; - environment.systemPackages = with pkgs; [ nfs-utils ]; + environment.systemPackages = with pkgs; [nfs-utils]; fileSystems."/mnt/data" = { device = "100.64.0.2:/tank/data"; diff --git a/modules/nixosModules/server/default.nix b/modules/nixosModules/server/default.nix index a32f049..5a475b1 100644 --- a/modules/nixosModules/server/default.nix +++ b/modules/nixosModules/server/default.nix @@ -1,5 +1,8 @@ -{ self, inputs, ... }: { + self, + inputs, + ... +}: { flake.nixosModules.server = { imports = [ self.nixosModules.arr diff --git a/modules/nixosModules/server/navidrome.nix b/modules/nixosModules/server/navidrome.nix index 5e319ca..903e574 100644 --- a/modules/nixosModules/server/navidrome.nix +++ b/modules/nixosModules/server/navidrome.nix @@ -1,5 +1,5 @@ -{ self, ... }: { - flake.nixosModules.navidrome = { config, ... }: let +{self, ...}: { + flake.nixosModules.navidrome = {config, ...}: let cfg = config.hostOptions.server; in { imports = [ diff --git a/modules/nixosModules/server/tailscale.nix b/modules/nixosModules/server/tailscale.nix index 41d4b5d..432e155 100644 --- a/modules/nixosModules/server/tailscale.nix +++ b/modules/nixosModules/server/tailscale.nix @@ -1,6 +1,5 @@ -{ self, ... }: { - - flake.nixosModules.tailscaleServer = { config, ... }: let +{self, ...}: { + flake.nixosModules.tailscaleServer = {config, ...}: let cfg = config.hostOptions.server; in { imports = [ @@ -17,7 +16,7 @@ }; }; - flake.nixosModules.headscale = { config, ... }: let + flake.nixosModules.headscale = {config, ...}: let cfg = config.hostOptions.server; in { imports = [ @@ -31,7 +30,7 @@ server_url = "https://headscale.${cfg.domain}"; dns = { magic_dns = false; - nameservers.global = [ "1.1.1.1" "9.9.9.9" ]; + nameservers.global = ["1.1.1.1" "9.9.9.9"]; }; prefixes = { v4 = "100.64.0.0/10"; diff --git a/modules/packages/environment.nix b/modules/packages/environment.nix index e1fa882..8fadce7 100644 --- a/modules/packages/environment.nix +++ b/modules/packages/environment.nix @@ -28,6 +28,8 @@ pkgs.alejandra pkgs.bluetui + pkgs.brightnessctl + pkgs.btop pkgs.lazygit pkgs.p7zip pkgs.rsync diff --git a/modules/packages/fish.nix b/modules/packages/fish.nix index 8467dd1..f33b5a5 100644 --- a/modules/packages/fish.nix +++ b/modules/packages/fish.nix @@ -3,7 +3,11 @@ lib, ... }: { - perSystem = {pkgs, self', ...}: let + perSystem = { + pkgs, + self', + ... + }: let fishConf = pkgs.writeText "fishConf" '' function fish_greeting ${lib.getExe self'.packages.fastfetch} diff --git a/modules/packages/kitty.nix b/modules/packages/kitty.nix index 4e204ad..53580cb 100644 --- a/modules/packages/kitty.nix +++ b/modules/packages/kitty.nix @@ -19,6 +19,7 @@ shell_integration = "enabled"; allow_remote_control = "yes"; + confirm_os_window_close = -1; # Gruvbox Material Dark Hard background = "#1d2021"; diff --git a/modules/packages/niri/hosts/tiamat.nix b/modules/packages/niri/hosts/tiamat.nix index a088940..3fdf6aa 100644 --- a/modules/packages/niri/hosts/tiamat.nix +++ b/modules/packages/niri/hosts/tiamat.nix @@ -16,10 +16,20 @@ xdg.portal = { enable = true; - extraPortals = [ pkgs.xdg-desktop-portal-gtk ]; + extraPortals = [pkgs.xdg-desktop-portal-gtk]; }; - services.displayManager.ly.enable = true; + environment.systemPackages = [pkgs.wlr-randr]; + + services.greetd = { + enable = true; + settings = { + default_session = { + command = "${pkgs.tuigreet}/bin/tuigreet --time --remember --asterisks --cmd niri"; + user = "jck"; + }; + }; + }; }; perSystem = { @@ -36,6 +46,7 @@ output "eDP-1" { mode "2880x1920@120" scale 1.67 + variable-refresh-rate } ''; } diff --git a/modules/packages/niri/package.nix b/modules/packages/niri/package.nix index baae9a6..ad1144e 100644 --- a/modules/packages/niri/package.nix +++ b/modules/packages/niri/package.nix @@ -16,14 +16,13 @@ xdg.portal = { enable = true; - extraPortals = [ pkgs.xdg-desktop-portal-gtk ]; + extraPortals = [pkgs.xdg-desktop-portal-gtk]; }; + + environment.systemPackages = [pkgs.wlr-randr]; }; - perSystem = { - pkgs, - ... - }: { + perSystem = {pkgs, ...}: { packages.niri = inputs.wrapper-modules.wrappers.niri.wrap { inherit pkgs; imports = [self.wrapperModules.niri]; diff --git a/modules/packages/niri/settings.nix b/modules/packages/niri/settings.nix index 52ad72f..897bc50 100644 --- a/modules/packages/niri/settings.nix +++ b/modules/packages/niri/settings.nix @@ -1,5 +1,10 @@ -{inputs, self, ...}: { - flake.wrapperModules.niri = {lib, config, pkgs, ...}: { +{self, ...}: { + flake.wrapperModules.niri = { + lib, + config, + pkgs, + ... + }: { settings = { input = { focus-follows-mouse = {}; @@ -35,6 +40,7 @@ xwayland-satellite.path = lib.getExe config.pkgs.xwayland-satellite; prefer-no-csd = {}; + hotkey-overlay.skip-at-startup = {}; binds = { "Mod+Shift+M".quit = {}; @@ -42,10 +48,69 @@ "Mod+F1".spawn-sh = "${lib.getExe self.packages.${config.pkgs.stdenv.hostPlatform.system}.noctalia-shell} ipc call launcher toggle"; "Mod+F2".spawn = lib.getExe self.packages.${config.pkgs.stdenv.hostPlatform.system}.terminal; - "Mod+F3".spawn = "${lib.getExe self.packages.${config.pkgs.stdenv.hostPlatform.system}.terminal} -e yazi"; + "Mod+F3".spawn = lib.getExe config.pkgs.thunar; "Mod+F4".close-window = {}; "Mod+R".switch-preset-column-width = {}; + + "Mod+1".focus-workspace = "w0"; + "Mod+2".focus-workspace = "w1"; + "Mod+3".focus-workspace = "w2"; + "Mod+4".focus-workspace = "w3"; + "Mod+5".focus-workspace = "w4"; + "Mod+6".focus-workspace = "w5"; + "Mod+7".focus-workspace = "w6"; + "Mod+8".focus-workspace = "w7"; + "Mod+9".focus-workspace = "w8"; + "Mod+0".focus-workspace = "w9"; + + "Mod+Shift+1".move-column-to-workspace = "w0"; + "Mod+Shift+2".move-column-to-workspace = "w1"; + "Mod+Shift+3".move-column-to-workspace = "w2"; + "Mod+Shift+4".move-column-to-workspace = "w3"; + "Mod+Shift+5".move-column-to-workspace = "w4"; + "Mod+Shift+6".move-column-to-workspace = "w5"; + "Mod+Shift+7".move-column-to-workspace = "w6"; + "Mod+Shift+8".move-column-to-workspace = "w7"; + "Mod+Shift+9".move-column-to-workspace = "w8"; + "Mod+Shift+0".move-column-to-workspace = "w9"; + + "Mod+WheelScrollDown".focus-column-left = {}; + "Mod+WheelScrollUp".focus-column-right = {}; + "Mod+Shift+WheelScrollDown".focus-workspace-down = {}; + "Mod+Shift+WheelScrollUp".focus-workspace-up = {}; + + "XF86AudioPrev".spawn-sh = "playerctl previous"; + "XF86AudioPause".spawn-sh = "playerctl play-pause"; + "XF86AudioPlay".spawn-sh = "playerctl play-pause"; + "XF86AudioNext".spawn-sh = "playerctl next"; + "XF86AudioStop".spawn-sh = "playerctl stop"; + + "Shift+XF86AudioPrev".spawn-sh = "playerctl --player=Feishin previous"; + "Shift+XF86AudioPause".spawn-sh = "playerctl --player=Feishin play-pause"; + "Shift+XF86AudioPlay".spawn-sh = "playerctl --player=Feishin play-pause"; + "Shift+XF86AudioNext".spawn-sh = "playerctl --player=Feishin next"; + "Shift+XF86AudioStop".spawn-sh = "playerctl --player=Feishin stop"; + + "XF86AudioRaiseVolume".spawn-sh = "wpctl set-volume -l 1.5 @DEFAULT_AUDIO_SINK@ 5%+"; + "XF86AudioLowerVolume".spawn-sh = "wpctl set-volume -l 1.5 @DEFAULT_AUDIO_SINK@ 5%-"; + "XF86AudioMute".spawn-sh = "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"; + + "XF86MonBrightnessUp".spawn-sh = "${lib.getExe config.pkgs.brightnessctl} set 5%+"; + "XF86MonBrightnessDown".spawn-sh = "${lib.getExe config.pkgs.brightnessctl} set 5%-"; + }; + + workspaces = { + "w0" = {}; + "w1" = {}; + "w2" = {}; + "w3" = {}; + "w4" = {}; + "w5" = {}; + "w6" = {}; + "w7" = {}; + "w8" = {}; + "w9" = {}; }; spawn-at-startup = [ diff --git a/modules/packages/noctalia/noctalia.json b/modules/packages/noctalia/noctalia.json index f2eb387..8d19654 100644 --- a/modules/packages/noctalia/noctalia.json +++ b/modules/packages/noctalia/noctalia.json @@ -3,7 +3,7 @@ "settingsVersion": 59, "bar": { "barType": "simple", - "position": "left", + "position": "top", "monitors": [], "density": "default", "showOutline": false, @@ -206,11 +206,11 @@ "telemetryEnabled": false, "enableLockScreenCountdown": true, "lockScreenCountdownDuration": 10000, - "autoStartAuth": false, + "autoStartAuth": true, "allowPasswordWithFprintd": true, "clockStyle": "custom", "clockFormat": "hh\\nmm", - "passwordChars": false, + "passwordChars": true, "lockScreenMonitors": [], "lockScreenBlur": 0, "lockScreenTint": 0, @@ -306,14 +306,9 @@ "automationEnabled": false, "wallpaperChangeMode": "random", "randomIntervalSec": 300, - "transitionDuration": 1500, + "transitionDuration": 500, "transitionType": [ - "fade", - "disc", - "stripes", - "wipe", - "pixelate", - "honeycomb" + "pixelate" ], "skipStartupTransition": false, "transitionEdgeSmoothness": 0.05, @@ -609,8 +604,10 @@ "spectrumFrameRate": 30, "visualizerType": "linear", "spectrumMirrored": true, - "mprisBlacklist": [], - "preferredPlayer": "", + "mprisBlacklist": [ + "zen-twilight" + ], + "preferredPlayer": "feishin", "volumeFeedback": false, "volumeFeedbackSoundFile": "" }, @@ -673,10 +670,10 @@ "notifyUpdates": true }, "idle": { - "enabled": false, + "enabled": true, "screenOffTimeout": 600, - "lockTimeout": 660, - "suspendTimeout": 1800, + "lockTimeout": 360, + "suspendTimeout": 0, "fadeDuration": 5, "screenOffCommand": "", "lockCommand": "", @@ -717,12 +714,12 @@ "physical_height": 190, "refresh_rate": 120000, "vrr_supported": true, - "vrr_enabled": false, + "vrr_enabled": true, "transform": "Normal" } }, "notificationsState": { - "lastSeenTs": 1775259926000 + "lastSeenTs": 1775262614000 }, "changelogState": { "lastSeenVersion": "v4.7.1" diff --git a/modules/packages/nvf/_nvfConfig.nix b/modules/packages/nvf/_nvfConfig.nix index 2746966..d0080cf 100644 --- a/modules/packages/nvf/_nvfConfig.nix +++ b/modules/packages/nvf/_nvfConfig.nix @@ -1,4 +1,8 @@ -{ pkgs, lib, ... }: { +{ + pkgs, + lib, + ... +}: { config.vim = { viAlias = true; vimAlias = true; @@ -108,14 +112,14 @@ ''; }; }; - + autocmds = [ { - event = [ "InsertEnter" ]; + event = ["InsertEnter"]; command = "set norelativenumber"; } { - event = [ "InsertLeave" ]; + event = ["InsertLeave"]; command = "set relativenumber"; } ]; diff --git a/modules/packages/nvf/package.nix b/modules/packages/nvf/package.nix index 8189d29..cac61d2 100644 --- a/modules/packages/nvf/package.nix +++ b/modules/packages/nvf/package.nix @@ -1,11 +1,9 @@ -{ - inputs, - ... -}: { +{inputs, ...}: { perSystem = {pkgs, ...}: { - packages.neovim = (inputs.nvf.lib.neovimConfiguration { - inherit pkgs; - modules = [ ./_nvfConfig.nix ]; - }).neovim; + packages.neovim = + (inputs.nvf.lib.neovimConfiguration { + inherit pkgs; + modules = [./_nvfConfig.nix]; + }).neovim; }; } diff --git a/modules/packages/zen-browser.nix b/modules/packages/zen-browser.nix index c770602..b615cee 100644 --- a/modules/packages/zen-browser.nix +++ b/modules/packages/zen-browser.nix @@ -1,5 +1,9 @@ {inputs, ...}: { - perSystem = {system, pkgs, ...}: { + perSystem = { + system, + pkgs, + ... + }: { packages.zen-browser = inputs.wrappers.lib.wrapPackage { inherit pkgs; package = inputs.zen-browser.packages.${system}.twilight.unwrapped.override { -- cgit v1.3