From 61143478c8ba802de1e74fec90bfe957ed17f36a Mon Sep 17 00:00:00 2001 From: Kat Inskip Date: Thu, 7 Aug 2025 14:24:53 -0600 Subject: [PATCH] feat: loose changes...? --- home/environments/niri/autostart.nix | 10 ++ home/environments/niri/binds.nix | 10 +- home/environments/niri/niri.nix | 1 + home/environments/niri/swaync.nix | 15 +++ home/environments/niri/window-rules.nix | 32 ++++- home/profiles/common/stylix.nix | 8 +- home/profiles/graphical/alacritty.nix | 3 + nixos/common/stylix.nix | 2 +- nixos/profiles/gaming/lutris.nix | 2 + nixos/profiles/graphical/logitech.nix | 2 +- systems/katvm.nix | 157 ++++++++++++++++++++++++ 11 files changed, 232 insertions(+), 10 deletions(-) create mode 100644 systems/katvm.nix diff --git a/home/environments/niri/autostart.nix b/home/environments/niri/autostart.nix index 0c2f53ac..82d26885 100644 --- a/home/environments/niri/autostart.nix +++ b/home/environments/niri/autostart.nix @@ -72,11 +72,21 @@ in { "--ozone-platform=wayland" ]; } + { + command = [ + "${getExe' config.programs.thunderbird.package "thunderbird"}" + ]; + } { command = [ "${getExe' pkgs.udiskie "udiskie"}" ]; } + { + command = [ + "${getExe' pkgs.easyeffects "easyeffects"}" + ]; + } { command = [ "${getExe pkgs.pasystray}" diff --git a/home/environments/niri/binds.nix b/home/environments/niri/binds.nix index e9d3428c..02877205 100644 --- a/home/environments/niri/binds.nix +++ b/home/environments/niri/binds.nix @@ -38,12 +38,14 @@ in { "Mod+D".action = sh ''${getExe config.programs.fuzzel.package} -T "${getExe config.programs.alacritty.package} --command"''; "Mod+Escape".action = sh ''${getExe config.programs.wlogout.package} -p layer-shell''; "Mod+Shift+Escape".action = sh ''${getExe config.programs.swaylock.package} -f''; - "Alt+Tab" = { - repeat = false; + "Mod+Alt+Tab" = { + #repeat = false; + cooldown-ms = 150; action.spawn = ["${getExe' pkgs.glib "gdbus"}" "call" "--session" "--dest" "io.github.isaksamsten.Niriswitcher" "--object-path" "/io/github/isaksamsten/Niriswitcher" "--method" "io.github.isaksamsten.Niriswitcher.application"]; }; - "Alt+Shift+Tab" = { - repeat = false; + "Mod+Alt+Shift+Tab" = { + cooldown-ms = 150; + #repeat = false; action.spawn = ["${getExe' pkgs.glib "gdbus"}" "call" "--session" "--dest" "io.github.isaksamsten.Niriswitcher" "--object-path" "/io/github/isaksamsten/Niriswitcher" "--method" "io.github.isaksamsten.Niriswitcher.application"]; }; }; diff --git a/home/environments/niri/niri.nix b/home/environments/niri/niri.nix index e563165c..dd2ddaff 100644 --- a/home/environments/niri/niri.nix +++ b/home/environments/niri/niri.nix @@ -79,6 +79,7 @@ in { chat = {}; vidya = {}; media = {}; + audio = {}; }; environment = { MOZ_ENABLE_WAYLAND = "1"; diff --git a/home/environments/niri/swaync.nix b/home/environments/niri/swaync.nix index cf44bff3..b7286cc4 100644 --- a/home/environments/niri/swaync.nix +++ b/home/environments/niri/swaync.nix @@ -8,6 +8,21 @@ _: { layer-shell = true; layer = "overlay"; control-center-layer = "top"; + widgets = [ "mpris" "dnd" "title" "notifications" "inhibitors" "backlight" "volume" ]; + widget-config = { + title = { + text = "Notifications"; + clear-all-button = true; + button-text = ""; + }; + dnd = { + text = " DND"; + }; + mpris = { + image-size = 60; + image-radius = 12; + }; + }; }; }; } diff --git a/home/environments/niri/window-rules.nix b/home/environments/niri/window-rules.nix index 52be7ccd..447ace42 100644 --- a/home/environments/niri/window-rules.nix +++ b/home/environments/niri/window-rules.nix @@ -14,7 +14,11 @@ _: { } { - matches = [{app-id = "^firefox$";}]; + matches = [ + {app-id = "^firefox$";} + {app-id = "^zen-beta$";} + {app-id = "^zen$";} + ]; open-on-workspace = "browser"; } { @@ -22,18 +26,40 @@ _: { {app-id = "^vesktop$";} {app-id = "^discord$";} {app-id = "^org.telegram.desktop$";} + {app-id = "^Signal$";} ]; open-on-workspace = "chat"; } { - matches = [{app-id = "^steam_app_default$";}]; + matches = [ + {app-id = "^steam_app_default$";} + {app-id = "^net.lutris.Lutris$";} + ]; open-on-workspace = "vidya"; open-floating = true; } { - matches = [{app-id = "^spotify$";}]; + matches = [ + {app-id = "^spotify$";} + {title = "^ncspot$";} + ]; open-on-workspace = "media"; } + { + matches = [ + {app-id = "^thunderbird$";} + ]; + open-on-workspace = "mail"; + } + { + matches = [ + {app-id="^com.github.wwmm.easyeffects$";} + {app-id="^.blueman-manager-wrapped$";} + {app-id="^org.pulseaudio.pavucontrol$";} + {app-id="^com.saivert.pwvucontrol$";} + ]; + open-on-workspace = "audio"; + } { matches = [ { diff --git a/home/profiles/common/stylix.nix b/home/profiles/common/stylix.nix index 22f5b3e4..e25e7b8b 100644 --- a/home/profiles/common/stylix.nix +++ b/home/profiles/common/stylix.nix @@ -16,6 +16,12 @@ dark = "MoreWaita"; package = pkgs.morewaita-icon-theme; }; + opacity = { + desktop = 1.0; + applications = 1.0; + terminal = 0.8; + popups = 0.8; + }; fonts = { sansSerif = { name = "Jost"; @@ -32,6 +38,6 @@ }; autoEnable = true; polarity = "light"; - base16Scheme = "${pkgs.base16-schemes}/share/themes/sakura.yaml"; + base16Scheme = "${pkgs.base16-schemes}/share/themes/rose-pine-dawn.yaml"; }; } diff --git a/home/profiles/graphical/alacritty.nix b/home/profiles/graphical/alacritty.nix index 938657f0..955dc7dd 100644 --- a/home/profiles/graphical/alacritty.nix +++ b/home/profiles/graphical/alacritty.nix @@ -3,5 +3,8 @@ programs.alacritty = { enable = true; package = pkgs.alacritty-graphics; + settings = { + + }; }; } diff --git a/nixos/common/stylix.nix b/nixos/common/stylix.nix index a847f993..b8bceb3d 100644 --- a/nixos/common/stylix.nix +++ b/nixos/common/stylix.nix @@ -39,6 +39,6 @@ }; }; autoEnable = true; - base16Scheme = "${pkgs.base16-schemes}/share/themes/sakura.yaml"; + base16Scheme = "${pkgs.base16-schemes}/share/themes/rose-pine-dawn.yaml"; }; } diff --git a/nixos/profiles/gaming/lutris.nix b/nixos/profiles/gaming/lutris.nix index b93a4773..6176dd69 100644 --- a/nixos/profiles/gaming/lutris.nix +++ b/nixos/profiles/gaming/lutris.nix @@ -34,6 +34,8 @@ ]; }) + wine + wine64 vkbasalt mangohud umu-launcher diff --git a/nixos/profiles/graphical/logitech.nix b/nixos/profiles/graphical/logitech.nix index e79674d4..bd7fc0f2 100644 --- a/nixos/profiles/graphical/logitech.nix +++ b/nixos/profiles/graphical/logitech.nix @@ -1,6 +1,6 @@ {pkgs, ...}: { services.solaar = { - enable = true; + enable = truem window = "hide"; package = pkgs.solaar; batteryIcons = "regular"; diff --git a/systems/katvm.nix b/systems/katvm.nix new file mode 100644 index 00000000..f1532578 --- /dev/null +++ b/systems/katvm.nix @@ -0,0 +1,157 @@ +_: let + hostConfig = { + tree, + pkgs, + lib, + config, + ... + }: let + inherit (lib.attrsets) nameValuePair listToAttrs; + datasets = [ + "root" + "nix" + "games" + "home" + "var" + ]; + datasetEntry = dataset: + nameValuePair ( + if dataset == "root" + then "/" + else "/${dataset}" + ) { + device = "zpool/${dataset}"; + fsType = "zfs"; + options = ["zfsutil"]; + }; + datasetEntries = listToAttrs (map datasetEntry datasets); + + drives = { + boot = rec { + raw = "/dev/disk/by-uuid/BEDB-489E"; + result = { + device = raw; + fsType = "vfat"; + }; + }; + swap = rec { + raw = "/dev/disk/by-partuuid/cba02f4a-a90d-44e3-81a8-46bb4500112e"; + result = { + device = raw; + randomEncryption = true; + }; + }; + }; + in { + imports = + (with tree.nixos.hardware; [ + ]) + ++ (with tree.nixos.profiles; [ + graphical + ]) + ++ (with tree.nixos.environments; [ + niri + ]); + config = { + home-manager.users.kat = { + programs = { + konawall-py.settings = { + source = "konachan"; + tags = [ + "rating:s" + ]; + }; + }; + imports = + (with tree.home.profiles; [ + graphical + ]) + ++ (with tree.home.environments; [ + niri + ]); + }; + + fileSystems = + datasetEntries + // { + "/boot" = drives.boot.result; + }; + + swapDevices = [ + drives.swap.result + ]; + + boot = { + loader = { + grub.useOSProber = true; + systemd-boot.enable = lib.mkForce false; + }; + extraModprobeConfig = "options snd_hda_intel power_save=0"; + extraModulePackages = [config.boot.kernelPackages.v4l2loopback.out]; + }; + + services.scx = { + enable = true; + package = pkgs.scx_git.full; + scheduler = "scx_lavd"; + }; + + zramSwap.enable = true; + + programs.ssh.extraConfig = '' + Host daiyousei-build + HostName 140.238.156.121 + User root + IdentityAgent /run/user/1000/gnupg/S.gpg-agent.ssh + ''; + + nix = { + buildMachines = [ + { + hostName = "daiyousei-build"; + system = "aarch64-linux"; + protocol = "ssh-ng"; + maxJobs = 100; + speedFactor = 1; + supportedFeatures = ["benchmark" "big-parallel" "kvm"]; + mandatoryFeatures = []; + } + ]; + distributedBuilds = true; + extraOptions = '' + builders-use-substitutes = true + ''; + }; + + # optional, useful when the builder has a faster internet connection than yours + services = { + printing.enable = true; + syncthing = { + enable = true; + openDefaultPorts = true; + user = "kat"; + dataDir = "/home/kat"; + }; + hardware.bolt.enable = true; + }; + + boot = { + supportedFilesystems = ["ntfs" "xfs"]; + }; + + networking = { + hostId = "9ef75c48"; + useDHCP = false; + }; + + system.stateVersion = "24.05"; + }; + }; +in { + arch = "x86_64"; + ci.enable = false; # Closure too large + type = "NixOS"; + modules = [ + hostConfig + ]; +}