diff --git a/.gitignore b/.gitignore index 1375ba8..d5d0e7a 100755 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,2 @@ result target -hardware.nix diff --git a/flake.lock b/flake.lock index af806cc..b1c08d3 100755 --- a/flake.lock +++ b/flake.lock @@ -105,11 +105,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1752113600, - "narHash": "sha256-7LYDxKxZgBQ8LZUuolAQ8UkIB+jb4A2UmiR+kzY9CLI=", + "lastModified": 1752718651, + "narHash": "sha256-PkaR0qmyP9q/MDN3uYa+RLeBA0PjvEQiM0rTDDBXkL8=", "owner": "nix-community", "repo": "disko", - "rev": "79264292b7e3482e5702932949de9cbb69fedf6d", + "rev": "d5ad4485e6f2edcc06751df65c5e16572877db88", "type": "github" }, "original": { @@ -269,11 +269,11 @@ "zon2nix": "zon2nix" }, "locked": { - "lastModified": 1752468632, - "narHash": "sha256-3Hmq3XMTPg12zWmNsDgxTCsXDthBi+Umfv/XeNsa9Es=", + "lastModified": 1752781573, + "narHash": "sha256-lciLQos2xk62PrLi/RbD12V8Da5xAysPnhP4KvI3Jho=", "owner": "ghostty-org", "repo": "ghostty", - "rev": "37c2c3a4ba696e90f0be2b7c2c0cd6f613dbf70a", + "rev": "155ddc3f8f0e99731d30f15653c62ac7e2476c46", "type": "github" }, "original": { @@ -328,11 +328,11 @@ ] }, "locked": { - "lastModified": 1752467539, - "narHash": "sha256-4kaR+xmng9YPASckfvIgl5flF/1nAZOplM+Wp9I5SMI=", + "lastModified": 1752798675, + "narHash": "sha256-oMJhxLVGVC7v0ReNQ/vFVKMQOPUixg/74MnZZ1Wkv4s=", "owner": "nix-community", "repo": "home-manager", - "rev": "1e54837569e0b80797c47be4720fab19e0db1616", + "rev": "dcfd70f80fe6d872c2dc58fe3be384a681e56fea", "type": "github" }, "original": { @@ -433,11 +433,11 @@ "xdph": "xdph" }, "locked": { - "lastModified": 1752500930, - "narHash": "sha256-bQlflVQSUwSWm//WJX9mPGXsouRKyS6fGfOmkMvYR5s=", + "lastModified": 1752782660, + "narHash": "sha256-lv5ohWVV8P/T8QBzSBmGVo45oxc4a7snwHF05KRwaK8=", "ref": "refs/heads/main", - "rev": "06fcdbd9c77c90fc9c3115b646f602a84c53a40e", - "revCount": 6273, + "rev": "a05c797e4a7b32f933569aec6cfba180bc693528", + "revCount": 6286, "submodules": true, "type": "git", "url": "https://github.com/hyprwm/Hyprland" @@ -736,11 +736,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1751949589, - "narHash": "sha256-mgFxAPLWw0Kq+C8P3dRrZrOYEQXOtKuYVlo9xvPntt8=", + "lastModified": 1752596105, + "narHash": "sha256-lFNVsu/mHLq3q11MuGkMhUUoSXEdQjCHvpReaGP1S2k=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "9b008d60392981ad674e04016d25619281550a9d", + "rev": "dab3a6e781554f965bde3def0aa2fda4eb8f1708", "type": "github" }, "original": { @@ -813,11 +813,11 @@ }, "nixpkgs_6": { "locked": { - "lastModified": 1751984180, - "narHash": "sha256-LwWRsENAZJKUdD3SpLluwDmdXY9F45ZEgCb0X+xgOL0=", + "lastModified": 1752480373, + "narHash": "sha256-JHQbm+OcGp32wAsXTE/FLYGNpb+4GLi5oTvCxwSoBOA=", "owner": "nixos", "repo": "nixpkgs", - "rev": "9807714d6944a957c2e036f84b0ff8caf9930bc0", + "rev": "62e0f05ede1da0d54515d4ea8ce9c733f12d9f08", "type": "github" }, "original": { @@ -853,11 +853,11 @@ "systems": "systems_5" }, "locked": { - "lastModified": 1752496197, - "narHash": "sha256-yADANK6gJL+BJrL0f450RGCZlUixCuYSoEqdjmBE5nY=", + "lastModified": 1752762787, + "narHash": "sha256-WZLSOR2Pei7C4nH/ntKUqOZOAa5rgvc2fVZl4RoEXmw=", "owner": "nix-community", "repo": "nixvim", - "rev": "03fa28a65f23210934cb3a3c0454eb8870af748b", + "rev": "bc0555c8694d43fb63ae2c7afec08b6987431a04", "type": "github" }, "original": { @@ -992,11 +992,11 @@ "tinted-zed": "tinted-zed" }, "locked": { - "lastModified": 1752449117, - "narHash": "sha256-Cn24ySH/LN/Q/SsDhpOX4cTMYZa1JMOLNeNsoYqcZpY=", + "lastModified": 1752750082, + "narHash": "sha256-NoVAqy+Wj4tgkvrYB8zWncl8Z6Hb80aX3t/TYGdsfaM=", "owner": "danth", "repo": "stylix", - "rev": "d683e35fa5ec8bbfd45d52e4b53c7b91f7b38d06", + "rev": "03699ed214f6e8195bc7199d6ae3aeccf9732b08", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index ba766e1..3f498c5 100755 --- a/flake.nix +++ b/flake.nix @@ -60,6 +60,25 @@ nixvim.homeManagerModules.nixvim ]; }; + phosphorousHome = let host = "phosphorous"; in home-manager.lib.homeManagerConfiguration { + pkgs = import nixpkgs { + inherit system; + config = nixpkgsConfig; + overlays = [ + (import ./overlay/overlay.nix { inherit host; root = self; }) + ]; + }; + extraSpecialArgs = { + inherit host self username inputs; + }; + + modules = [ + ./hosts/work/home.nix + ./modules/home + stylix.homeManagerModules.stylix + nixvim.homeManagerModules.nixvim + ]; + }; mercuryHome = let host = "mercury"; in home-manager.lib.homeManagerConfiguration { pkgs = import nixpkgs { @@ -126,6 +145,29 @@ ]; }; + phosphorous = nixpkgs.lib.nixosSystem { # Desktop + specialArgs = { + inherit self inputs username; + host = "oganesson"; + overlays = [ + (import ./overlay/overlay.nix { root = self; }) + ]; + }; + inherit system; + pkgs = import nixpkgs { + inherit system; + config = nixpkgsConfig; + overlays = [ + (import ./overlay/overlay.nix { root = self; }) + ]; + }; + modules = [ + ./hosts/work/config.nix + ./modules/sys + stylix.nixosModules.stylix + ]; + }; + mercury = nixpkgs.lib.nixosSystem { # Laptop specialArgs = { inherit self inputs username; diff --git a/hosts/work/config.nix b/hosts/work/config.nix new file mode 100755 index 0000000..bae5ca9 --- /dev/null +++ b/hosts/work/config.nix @@ -0,0 +1,54 @@ +{ slash, pkgs, username, ... }: +{ + imports = [ + ./hardware.nix + ]; + + # My module options + movOpts = { + sysEnv = { + issue.enable = true; + sddmConfig.enable = false; + stylixConfig.enable = true; + nixSettings.enable = true; + #consoleSettings.enable = true; + }; + hardwareCfg = { + networkModule.enable = true; + kernelModule.enable = true; + bootLoader.enable = true; + }; + softwareCfg = { + gamingPkgs.enable = true; + steamConfig.enable = true; + sysPkgs.enable = true; + sysProgs.enable = true; + sysServices.enable = true; + virtConfig.enable = true; + }; + }; + + environment = { + variables = { PATH = "${pkgs.clang-tools}/bin:$PATH"; }; + shells = [ pkgs.myPkgs.slash pkgs.zsh pkgs.bash ]; + }; + + users = { + groups.persist = { }; + users = { + root.initialPassword = "1234"; + ${username} = { + isNormalUser = true; + initialPassword = "1234"; + shell = pkgs.zsh; + extraGroups = [ "input" "wheel" "persist" "libvirtd" ]; + }; + }; + }; + security.sudo.extraConfig = '' + ${username} ALL=(ALL) NOPASSWD: /etc/profiles/per-user/${username}/bin/rebuild + ''; + nix.settings.allowed-users = [ "${username}" ]; + + time.timeZone = "America/New_York"; +} diff --git a/hosts/work/containers.nix b/hosts/work/containers.nix new file mode 100644 index 0000000..9fe4062 --- /dev/null +++ b/hosts/work/containers.nix @@ -0,0 +1,126 @@ +{ slash, pkgs, username, ... }: + +let + kickstartServer = + let + libsrcds = pkgs.stdenv.mkDerivation { + name = "libsrcds"; + src = pkgs.fetchFromGitHub { + owner = "km-clay"; + repo = "sourceds-libraries"; + rev = "08d12c91af664ffd103482ae1a24714222bef2df"; + hash = "sha256-EFXBhqZEkBNpYjNuG7oTZLgfjqM5G+nLb7e/qeN1Tvw="; + }; + installPhase = '' + mkdir -p $out/lib + cp ./* $out/lib + ''; + }; + startTf2Server = pkgs.writeShellScript "start-srv.sh" '' + set -euo pipefail + export HOME=/home/tf2 + export LD_LIBRARY_PATH=/usr/lib:/usr/lib32 + mkdir -p "$HOME/tf2server" + mkdir -p "$HOME/tf2server" + + steamcmd +force_install_dir "$HOME/tf2server" \ + +login anonymous \ + +app_update 232250 validate \ + +quit + + cd "$HOME/tf2server" + + ln -sf "$HOME/.steam/steam/linux64" "$HOME/.steam/sdk64" + ln -sf "$HOME/.steam/steam/linux32" "$HOME/.steam/sdk32" + + exec ./srcds_run -game tf -console -port 25565 +map cp_dustbowl \ + +ip 10.233.1.2 -norestart \ + +sv_setsteamaccount 8862FD4B30F401036B8AAC6A7FE6B123 + ''; + in + pkgs.buildFHSEnv { + name = "srcds-env"; + targetPkgs = pkgs: with pkgs; [ + steamcmd + glibc + zlib + curl + libuuid + openssl + libnl + libsrcds + + # Optional: link compat + stdenv.cc.cc.lib + ]; + multiPkgs = pkgs: with pkgs.pkgsi686Linux; [ + glibc + zlib + ncurses5 + libuuid + alsa-lib + libxcrypt-legacy + gcc + ]; + multiArch = true; + runScript = "${startTf2Server}"; + + }; +in +{ + networking = { + nat = { + enable = true; + internalInterfaces = ["ve-+"]; + externalInterface = "enp8s0"; + }; + }; + containers.tf2server = { + autoStart = true; + privateNetwork = true; + hostAddress = "10.233.1.1"; + localAddress = "10.233.1.2"; + config = { + imports = [ ]; + nixpkgs.config.allowUnfree = true; + + + services.openssh.enable = true; + users.users.root.password = "root"; # For quick login, remove in prod + + environment.systemPackages = with pkgs; [ + steamcmd + steam-run + coreutils + wget + unzip + bash + nix + coreutils + vim + ]; + + users.users.tf2server = { + isNormalUser = true; + initialPassword = "1234"; + shell = pkgs.bash; + extraGroups = [ "wheel" ]; + }; + + systemd.services.tf2server = { + wantedBy = [ "multi-user.target" ]; + serviceConfig = { + ExecStart = "${kickstartServer}/bin/srcds-env"; + }; + }; + + nix.settings.experimental-features = [ "nix-command" "flakes" ]; + + # Optional: open ports on the container + networking.firewall.allowedTCPPorts = [ 25565 ]; + networking.firewall.allowedUDPPorts = [ 25565 27005 27015 27020 ]; + + system.stateVersion = "25.11"; # or your NixOS version + }; + }; +} diff --git a/hosts/work/hardware.nix b/hosts/work/hardware.nix new file mode 100644 index 0000000..650036f --- /dev/null +++ b/hosts/work/hardware.nix @@ -0,0 +1,37 @@ +# Do not modify this file! It was generated by ‘nixos-generate-config’ +# and may be overwritten by future invocations. Please make changes +# to /etc/nixos/configuration.nix instead. +{ config, lib, pkgs, modulesPath, ... }: + +{ + imports = + [ (modulesPath + "/profiles/qemu-guest.nix") + ]; + + boot.initrd.availableKernelModules = [ "ahci" "xhci_pci" "virtio_pci" "virtio_scsi" "sr_mod" "virtio_blk" ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ "kvm-amd" ]; + boot.extraModulePackages = [ ]; + + fileSystems."/" = + { device = "/dev/disk/by-uuid/db4cf956-df00-4c26-851d-419136434eae"; + fsType = "ext4"; + }; + + fileSystems."/boot" = + { device = "/dev/disk/by-uuid/336C-A94E"; + fsType = "vfat"; + options = [ "fmask=0022" "dmask=0022" ]; + }; + + swapDevices = [ ]; + + # 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 + # still possible to use this option, but it's recommended to use it in conjunction + # with explicit per-interface declarations with `networking.interfaces..useDHCP`. + networking.useDHCP = lib.mkDefault true; + # networking.interfaces.enp1s0.useDHCP = lib.mkDefault true; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; +} diff --git a/hosts/work/home.nix b/hosts/work/home.nix new file mode 100755 index 0000000..074314e --- /dev/null +++ b/hosts/work/home.nix @@ -0,0 +1,57 @@ +{ username, ... }: { + home.username = "${username}"; + home.homeDirectory = + "/home/${username}"; + home.stateVersion = "25.05"; + + programs.home-manager.enable = true; + + movOpts = { + # modules/home/files + homeFiles.enable = true; + + # modules/home/environment + envConfig = { + hyprlandConfig = { + enable = true; + monitorNames = [ "DP-3" "DP-1" ]; + workspaceLayout = "dualmonitor"; + }; + userPkgs.enable = true; + stylixHomeConfig.enable = true; + waybarConfig.enable = true; + gtkConfig.enable = true; + spicetifyConfig.enable = false; + starshipConfig.enable = true; + swayncConfig.enable = true; + zshConfig = { + shellAliases.enable = true; + envVariables.enable = true; + shellOptions.enable = true; + extraConfig.enable = true; + }; + }; + + # modules/home/programs + programConfigs = { + autojumpConfig.enable = true; + btopConfig.enable = true; + cavaConfig.enable = false; + ezaConfig.enable = true; + fuzzelConfig.enable = true; + fzfConfig.enable = true; + gitConfig.enable = true; + kittyConfig.enable = true; + yaziConfig.enable = true; + passConfig.enable = true; + batConfig.enable = true; + }; + }; + + dconf.settings = { + "org/virt-manager/virt-manager/connections" = { + autoconnect = [ "qemu:///system" ]; + uris = [ "qemu:///system" ]; + }; + }; +} diff --git a/modules/home/environment/hyprland.nix b/modules/home/environment/hyprland.nix index eff13c4..b986dc3 100755 --- a/modules/home/environment/hyprland.nix +++ b/modules/home/environment/hyprland.nix @@ -2,17 +2,27 @@ let desktop = host == "oganesson"; screenshot_bind = if desktop then - [ "super, print, exec, grimblast copy area" - "super shift, print, exec, grimblast --freeze copy area" -] + [ + "super, print, exec, grimblast copy area" + "super shift, print, exec, grimblast --freeze copy area" + ] else - [ - # My laptop does not have a printscreen button - "super, insert, exec, grimblast copy area" - ]; + [ + # My laptop does not have a printscreen button + "super, insert, exec, grimblast copy area" + ]; scheme = config.lib.stylix.colors; mons = config.movOpts.envConfig.hyprlandConfig.monitorNames; - + smartGapsWorkspaces = [ + "w[tv1], gapsout:0, gapsin:0" + "f[1], gapsout:0, gapsin:0" + ]; + smartGapsWindowrules = [ + "bordersize 0, floating:0, onworkspace:w[tv1]" + "rounding 0, floating:0, onworkspace:w[tv1]" + "bordersize 0, floating:0, onworkspace:f[1]" + "rounding 0, floating:0, onworkspace:f[1]" + ]; in { options = { @@ -55,6 +65,9 @@ in { monitor = if (host == "oganesson") then [ "DP-1, 1920x1080@144, 1920x0, 1" "HDMI-A-1, 1920x1080, 0x0, 1" + ] else if (host == "phosphorous") then [ + "DP-1, highrr, 0x0, 1" + "DP-3, highrr, -1080x-420, 1, transform, 3" ] else [ "eDP-1, 1600x900, 0x0, 1" ]; @@ -69,7 +82,7 @@ in { "dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP &" ]; - workspace = if (config.movOpts.envConfig.hyprlandConfig.workspaceLayout == "dualmonitor") then [ + workspace = (if (config.movOpts.envConfig.hyprlandConfig.workspaceLayout == "dualmonitor") then [ "1,persistent=true,monitor:${builtins.elemAt mons 0}" "2,persistent=true,monitor:${builtins.elemAt mons 0}" "3,persistent=true,monitor:${builtins.elemAt mons 0}" @@ -88,7 +101,7 @@ in { "4,persistent=true,monitor:${builtins.elemAt mons 1}" "5,persistent=true,monitor:${builtins.elemAt mons 0}" "6,persistent=true,monitor:${builtins.elemAt mons 0}" - ] else [ ]; + ] else [ ]) ++ smartGapsWorkspaces; env = [ "XDG_CONFIG_HOME,$HOME/.config" @@ -96,6 +109,37 @@ in { "XDG_CACHE_HOME,$HOME/.cache" ]; layerrule = [ "blur,waybar" "ignorezero,waybar" "blur,launcher" ]; + windowrulev2 = [ + "float, class:^(thunar)$,title:^(.*File Operation Progress.*)$" + "float, class:^(firefox)$,title:^(Library)$" + "float, class:^(thunar)$,title:^(File Operation Progress)$" + "float, class:^(thunar)$,title:^(Confirm to replace files)$" + "float, title:^(bwarn)$" + "float, title:^(bwarn)$" + "noinitialfocus, class:^(steam)$" + "float, class:^(firefox)$,title:^(ログイン - Google アカウント — Mozilla Firefox)$" + "float, class:^(firefox)$,title:^(Firefox — Sharing Indicator)$" + "float, class:^(firefox)$,title:^(Firefox — 共有インジケーター)$" + "float, class:(firefox), title:^(*.Sign in.*)$" + ]; + windowrule = [ + "float, class:^(qt5ct)$" + "float, class:^(zoom)$" + "float, class:^(Steam)$" + "idleinhibit focus, class:mpv" + "float, title:^(Picture-in-Picture)$" + "float, class:^(nm-connection-editor)$" + "float, class:^(waypaper)$" + "float, title:^(Sign In)(.*)$" + "float, title:^(Firefox — 共有インジケーター)$" + "nofocus, title:^(Firefox — 共有インジケーター)$" + "float, class:^(firefox)$,title^(Sign in - Google Accounts — Mozilla Firefox)$" + "= nofullscreenrequest, title:^(Firefox — 共有インジケーター)$" + "size 0 0, title:^(Firefox — 共有インジケーター)$" + "move 100%-470 15,title:^(Firefox — Sharing Indicator)$" + "move 100%-470 15,title:^(Firefox — 共有インジケーター)$" + + ] ++ smartGapsWindowrules; input = { kb_layout = "us"; @@ -104,16 +148,21 @@ in { force_no_accel = 1; sensitivity = 0; }; - general = { - "$mainMod" = "super"; - layout = "dwindle"; - gaps_in = 4; - gaps_out = 8; - border_size = 3; - #"col.inactive_border" = "0xff${scheme.base01}"; - "col.active_border" = lib.mkForce "0xff${scheme.base04}"; - no_border_on_floating = false; - }; + general = { + gaps_in = 5; + gaps_out = 9; + border_size = 3; + col.active_border = "rgba(404042ff)"; + col.inactive_border = "rgba(83858a00)"; + layout = "dwindle"; + resize_on_border = true; + no_border_on_floating = false; + + snap = { + enabled = true; + window_gap = 5; + }; + }; misc = { disable_autoreload = true; disable_hyprland_logo = true; @@ -125,10 +174,7 @@ in { }; dwindle = { - force_split = 0; - special_scale_factor = 1.0; - split_width_multiplier = 1.0; - use_active_for_splits = true; + force_split = 2; pseudotile = "yes"; preserve_split = "yes"; }; @@ -139,96 +185,83 @@ in { }; decoration = { - rounding = 10; - - blur = { - enabled = true; - # size = 1; - # passes = 1; - size = 2; - passes = 1; - brightness = 1; - contrast = 1.4; - ignore_opacity = true; - popups = true; - noise = 0; - new_optimizations = true; - xray = true; - }; + rounding = 4; + shadow = { + enabled = true; + ignore_window = true; + range = 80; + render_power = 50; + color = "rbga(00000065)"; + }; }; + cursor = { + hide_on_key_press = true; + }; + + experimental = { + xx_color_management_v4 = true; + }; + animations = { enabled = true; bezier = [ - "fluent_decel, 0, 0.2, 0.4, 1" - "easeOutCirc, 0, 0.55, 0.45, 1" - "easeOutCubic, 0.33, 1, 0.68, 1" - "easeinoutsine, 0.37, 0, 0.63, 1" + "myBezier, 0.16, 1, 0.3, 1" ]; animation = [ - # Windows - "windowsIn, 1, 3, easeOutCubic, popin 30%" # window open - "windowsOut, 1, 3, fluent_decel, popin 70%" # window close. - "windowsMove, 1, 2, easeinoutsine, slide" # everything in between, moving, dragging, resizing. - - # Fade - "fadeIn, 1, 3, easeOutCubic" # fade in (open) -> layers and windows - "fadeOut, 1, 2, easeOutCubic" # fade out (close) -> layers and windows - "fadeSwitch, 0, 1, easeOutCirc" # fade on changing activewindow and its opacity - "fadeShadow, 1, 10, easeOutCirc" # fade on changing activewindow for shadows - "fadeDim, 1, 4, fluent_decel" # the easing of the dimming of inactive windows - "border, 1, 2.7, easeOutCirc" # for animating the border's color switch speed - "borderangle, 1, 30, fluent_decel, once" # for animating the border's gradient angle - styles: once (default), loop - "workspaces, 1, 4, easeOutCubic, fade" # styles: slide, slidevert, fade, slidefade, slidefadevert + "windows, 1, 7, myBezier, popin 80%" + "fade, 1, 7, myBezier" + "workspaces, 1, 6, myBezier, slidefade 80%" ]; - bind = [ - "super, up, exec, pactl set-sink-volume @default_sink@ +10%" - "super, down, exec, pactl set-sink-volume @default_sink@ -10%" - "super, t, exec, swaync-client -t -sw" - "super, a, exec, firefox" - "super, q, exec, kitty" - "super shift, q, exec, [float;size 40% 30%;move onscreen cursor -50% -50%] kitty" - "super, c, killactive," - "super shift, c,exec, hyprctl kill" - "super, e, exec, [float;size 40% 50%;move onscreen cursor -50% -50%] nemo" - "super, p, exec, [float;size 40% 25%;move onscreen cursor] [ ! -f /tmp/keyringfile ] && kitty toolbelt" - "super shift, m, exit," - "super, m, exec, fuzzel" - "super, r, exec, neovide" - "super, b, togglesplit, # dwindle" - "super, f, togglefloating" - "super, g, fullscreen" - "super, h, movefocus, l" - "super, l, movefocus, r" - "super, k, movefocus, u" - "super, j, movefocus, d" - "super shift, h, movewindow, l" - "super shift, l, movewindow, r" - "super shift, k, movewindow, u" - "super shift, j, movewindow, d" - "super, d, exec, switchmon" - "super, 1, exec, hyprctl 'dispatch workspace 1'" - "super, 2, exec, hyprctl 'dispatch workspace 2'" - "super, 3, exec, hyprctl 'dispatch workspace 3'" - "super, 4, exec, hyprctl 'dispatch workspace 4'" - "super, 5, exec, hyprctl 'dispatch workspace 5'" - "super, 6, exec, hyprctl 'dispatch workspace 6'" - "super shift, 1, movetoworkspace, 1" - "super shift, 2, movetoworkspace, 2" - "super shift, 3, movetoworkspace, 3" - "super shift, 4, movetoworkspace, 4" - "super shift, 5, movetoworkspace, 5" - "super shift, 6, movetoworkspace, 6" - "super, s, togglespecialworkspace, magic" - "super shift, s, movetoworkspace, special:magic" - ] ++ screenshot_bind; - bindm = - [ "super, mouse:272, movewindow" "super, mouse:273, resizewindow" ]; }; + + bind = [ + "super, up, exec, pactl set-sink-volume @default_sink@ +10%" + "super, down, exec, pactl set-sink-volume @default_sink@ -10%" + "super, t, exec, swaync-client -t -sw" + "super, a, exec, firefox" + "super, q, exec, kitty" + "super shift, q, exec, [float;size 40% 30%;move onscreen cursor -50% -50%] kitty" + "super, c, killactive," + "super shift, c,exec, hyprctl kill" + "super, e, exec, [float;size 40% 50%;move onscreen cursor -50% -50%] nemo" + "super, p, exec, [float;size 40% 25%;move onscreen cursor] [ ! -f /tmp/keyringfile ] && kitty toolbelt" + "super shift, m, exit," + "super, m, exec, fuzzel" + "super, r, exec, neovide" + "super, b, togglesplit, # dwindle" + "super, f, togglefloating" + "super, g, fullscreen" + "super, h, movefocus, l" + "super, l, movefocus, r" + "super, k, movefocus, u" + "super, j, movefocus, d" + "super shift, h, movewindow, l" + "super shift, l, movewindow, r" + "super shift, k, movewindow, u" + "super shift, j, movewindow, d" + "super, d, exec, switchmon" + "super, 1, exec, hyprctl 'dispatch workspace 1'" + "super, 2, exec, hyprctl 'dispatch workspace 2'" + "super, 3, exec, hyprctl 'dispatch workspace 3'" + "super, 4, exec, hyprctl 'dispatch workspace 4'" + "super, 5, exec, hyprctl 'dispatch workspace 5'" + "super, 6, exec, hyprctl 'dispatch workspace 6'" + "super shift, 1, movetoworkspace, 1" + "super shift, 2, movetoworkspace, 2" + "super shift, 3, movetoworkspace, 3" + "super shift, 4, movetoworkspace, 4" + "super shift, 5, movetoworkspace, 5" + "super shift, 6, movetoworkspace, 6" + "super, s, togglespecialworkspace, magic" + "super shift, s, movetoworkspace, special:magic" + ] ++ screenshot_bind; + bindm = + [ "super, mouse:272, movewindow" "super, mouse:273, resizewindow" ]; }; }; }; diff --git a/modules/home/environment/stylixhome.nix b/modules/home/environment/stylixhome.nix index 7382a3b..70df530 100755 --- a/modules/home/environment/stylixhome.nix +++ b/modules/home/environment/stylixhome.nix @@ -1,7 +1,7 @@ { lib, self, config, host, pkgs, ... }: let - scheme = "chalk"; + scheme = "ayu-dark"; wallpaper = "${self}/assets/wallpapers/dark-waves.jpg"; server = (host == "xenon"); in { diff --git a/modules/home/environment/userpkgs.nix b/modules/home/environment/userpkgs.nix index 6636dec..bf1fb31 100755 --- a/modules/home/environment/userpkgs.nix +++ b/modules/home/environment/userpkgs.nix @@ -34,7 +34,6 @@ in { nemo feh gtk3 - gimp imagemagick vlc lolcat diff --git a/modules/home/environment/waybar.nix b/modules/home/environment/waybar.nix index f41d00c..cd1a166 100755 --- a/modules/home/environment/waybar.nix +++ b/modules/home/environment/waybar.nix @@ -6,12 +6,26 @@ let workspaces = { format = "{icon}"; format-icons = { - "1" = "一"; - "2" = "二"; - "3" = "三"; - "4" = "四"; - "5" = "五"; - "6" = "六"; + "1" = "1"; + "2" = "2"; + "3" = "3"; + "4" = "4"; + "5" = "5"; + "6" = "6"; + "7" = "7"; + "8" = "8"; + "9" = "9"; + "10" = "10"; + "11" = "11"; + "12" = "12"; + "13" = "13"; + "14" = "14"; + "15" = "15"; + "16" = "16"; + "17" = "17"; + "18" = "18"; + "19" = "19"; + "20" = "20"; }; persistent-workspaces = if (layout == "singlemonitor") then { @@ -36,7 +50,7 @@ let dark = scheme.base03; }; fg = { - lightester = scheme.base07; + lightest = scheme.base07; lightest = scheme.base06; lighter = scheme.base05; light = scheme.base04; @@ -55,6 +69,17 @@ let circle-gauge = [ "󰝦" "󰪞" "󰪟" "󰪠" "󰪡" "󰪢" "󰪣" "󰪤" "󰪥" ]; cava-gauge = [ "▁" "▂" "▃" "▄" "▅" "▆" "▇" "█" ]; battery-gauge = [ "󰁺" "󰁻" "󰁽" "󰁾" "󰁿" "󰂀" "󰂁" "󰂂" "󰁹" ]; + bar-gauge = [ + "░░░░░░░░" + "█░░░░░░░" + "██░░░░░░" + "███░░░░░" + "████░░░░" + "█████░░░" + "██████░░" + "███████░" + "████████" + ]; in { options = { movOpts.envConfig.waybarConfig.enable = @@ -68,7 +93,7 @@ in { }); settings = { mainBar = { - layer = "bottom"; + layer = "top"; output = if layout == "singlemonitor" then builtins.elemAt monitors 0 else builtins.elemAt monitors 1; position = "top"; @@ -77,374 +102,174 @@ in { margin-top = 5; margin-right = if desktop then 8 else 5; mode = "dock"; + exclusive = true; + passthrough = false; "gtk-layer-shell" = true; - modules-left = [ "hyprland/workspaces" "cava" ]; - modules-center = [ "hyprland/window" ]; - modules-right = [ "group/hardware" "clock" "group/powerbtns" ]; + modules-left = [ "clock" "hyprland/workspaces" "tray" ]; + modules-center = []; + modules-right = [ "cpu" "memory" "pulseaudio" "network" ]; "hyprland/workspaces" = workspaces; - cava = { - framerate = 30; - autosens = 1; - sensitivity = 1; - bars = 14; - lower_cutoff_freq = 50; - higher_cutoff_freq = 10000; - method = "pulse"; - source = "auto"; - hide_on_silence = false; - stereo = true; - reverse = true; - bar_delimiter = 0; - monstercat = false; - waves = false; - noise_reduction = 0.77; - input_delay = 1; - format-icons = cava-gauge; - }; - - "group/hardware" = { - orientation = "inherit"; - modules = [ "custom/disk-icon" "memory" "cpu" ]; - }; - - "custom/disk-icon" = { - exec = '' - df / | awk ' - function format(size) { - if (size >= 1024) return sprintf("%.1fTB", size / 1024); - else return sprintf("%.1fGB", size) - } - $6 == "/" { - usage = $3 / 1024 / 1024; - total = $2 / 1024 / 1024; - percent = $5; - sub(/%/, "", percent); - printf "{\"class\": \"disk-icon\", \"tooltip\": \"/: %s / %s\", \"percentage\": %s}\n", format(usage), format(total), percent - } - ' | jq --unbuffered --compact-output - ''; - interval = 60; - return-type = "json"; - rotate = 270; - format = "{icon}"; - format-icons = circle-gauge; - }; - - memory = { - interval = 1; - rotate = 270; - format = "{icon}"; - format-icons = circle-gauge; - max-length = 10; - tooltip-format = "RAM: {used:0.1f} GB / {total:0.1f} GB"; - }; - - cpu = { - interval = 1; - rotate = 270; - format = "{icon}"; - format-icons = circle-gauge; - tooltip-format = "CPU: {usage:0.1f}%"; - }; - - "custom/power" = { - on-click = "shutdown now"; - tooltip = false; - format = " "; - }; - - "custom/logout" = { - on-click = "hyprctl dispatch exit"; - tooltip = false; - format = "󰗽 "; - }; - - "custom/reboot" = { - on-click = "reboot"; - tooltip = false; - format = " "; - }; - - "group/powerbtns" = { - orientation = "horizontal"; - drawer = { - transition-duration = 500; - children-class = "power-drawer"; - transition-left-to-right = false; - }; - modules = [ "custom/power" "custom/logout" "custom/reboot" ]; - }; - clock = { - format = "{:%I:%M %p}"; - tooltip = false; - }; - }; - sideBar = { - layer = "bottom"; - output = builtins.elemAt monitors 0; - position = "right"; - margin-top = 8; - margin-right = 5; - margin-bottom = 8; - name = "sideBar"; - mode = "dock"; - "gtk-layer-shell" = true; - - modules-left = if desktop then - [ "hyprland/workspaces" ] - else [ - "group/brightness" - "battery" - ]; - modules-center = [ ]; - modules-right = [ "network" "group/audio" ]; - - "hyprland/workspaces" = workspaces; - - "pulseaudio/slider" = { orientation = "vertical"; }; - - "group/audio" = { - orientation = "vertical"; - modules = [ "pulseaudio/slider" "pulseaudio" ]; + format = "[ CLK: {:%H.%M %a %b %d} ]"; + tooltip-format = "{calendar}"; + calendar = { + mode = "month"; + weeks-pos = ""; + on-scroll = 1; + format = { + months = "CAL: {}\n"; + days = "{}"; + weeks = "{}"; + weekdays = "{}"; + today = "{}"; + }; + }; + actions = { + on-scroll-up = "shift_down"; + on-scroll-down = "shift_up"; + }; }; - pulseaudio = { - format = "{icon}"; - format-muted = " "; - format-icons = { default = [ " " " " ]; }; - on-click = "pactl set-sink-mute @DEFAULT_SINK@ toggle"; - on-click-right = - "hyprctl dispatch exec '[float;size 40% 55%] pavucontrol'"; - }; + pulseaudio = { + format = "VOL: [ {icon} ] {volume}%"; + tooltip = true; + tooltip-format = "DEVICE: {desc}"; + format-muted = "VOL: [ XXXXXXXX ] {volume}%"; + on-click = "if [ $(pamixer --get-mute) == true ]; then pamixer --unmute; else pamixer --mute; fi"; + on-scroll-up = "pamixer -i 2"; + on-scroll-down = "pamixer -d 2"; + scroll-step = 2; + reverse-scrolling = true; + format-icons = bar-gauge; + }; - network = { - interval = 30; - format-wifi = "󰖩 "; - tooltip-format-wifi = "{essid} ({signalStrength}%)"; - format-ethernet = " "; - tooltip-format-ethernet = "{ifname}"; - format-disconnected = "󰖪 "; - tooltip-format-disconnected = "Disconnected"; - on-click = - "hyprctl dispatch exec '[float;size 40% 55%] kitty nmtui'"; - }; + network = { + format-wifi = "[ ONLINE ]"; + format-ethernet = "[ ONLINE ]"; + tooltip-format-wifi = "ESSID\t: {essid}\nSTRNGTH\t: {signaldBm}\n\nADDRESS\t: {ipaddr}\nGATE\t: {gwaddr}\nMASK\t: {netmask} | {cidr}"; + tooltip-format-ethernet = "IFNAME: {ifname}\nADDRESS: {ipaddr}"; + format-disconnected = "[ XXXXXX ]"; + on-click = "nm-connection-editor"; + }; - battery = { - bat = "BAT1"; - interval = 1; - tooltip-format = '' - {capacity}% - Til empty: {time}''; - tooltip-format-charging = '' - {capacity}% - Til full: {time}''; - format = "{icon}"; - format-icons = battery-gauge; - format-charging = "󰂄"; - }; + memory = { + interval = 20; + format = "MEM: [ {icon} ] {percentage}%"; + tooltip-format = "MEM_TOT\t: {total}GiB\nSWP_TOT\t: {swapTotal}GiB\n\nMEM_USD\t: {used:0.1f}GiB\nSWP_USD\t: {swapUsed:0.1f}GiB"; + format-icons = [ + "░░░░░░░░" + "█░░░░░░░" + "██░░░░░░" + "███░░░░░" + "████░░░░" + "█████░░░" + "██████░░" + "!!!!!!!!" + "CRITICAL" + ]; + }; - "group/brightness" = { - orientation = "vertical"; - modules = [ "backlight" "backlight/slider" ]; - }; - backlight = { - format = "󰃠"; - tooltip = "{percentage}%"; - }; - "backlight/slider" = { - min = 10; - max = 100; - orientation = "vertical"; - rotate = 180; - }; + cpu = { + + interval = 1; + format = "CPU: [ {icon} ] {usage}%"; + tooltip = true; + format-icons = [ + "░░░░░░░░" + "█░░░░░░░" + "██░░░░░░" + "███░░░░░" + "████░░░░" + "█████░░░" + "██████░░" + "!!!!!!!!" + "CRITICAL" + ]; + }; }; }; style = '' - * { - border: none; - border-radius: 0; - font-size: 16px; - font-family: "JetBrains Mono Nerd Font"; - } + * { + font-size: 14px; + border: none; + font-familty: EnvyCodeR Nerd Font Mono; + font-weight: Bold; + min-height: 0; + border-radius 0px; + padding: 2px; + } - window#waybar { - border-radius: 10px; - border: 3px solid #${fg.light}; - background: rgba(23,29,35,0.50); - margin: 20px; - } - window#waybar.empty #window { - background: none; - border: none; - } + window#waybar { + color: #${fg.lightest}; + background: #${bg.darkester}; + } - #workspaces { - margin: 3px; - background: #${bg.darker}; - border: 3px solid #${bg.dark}; - border-radius: 8px; - } + tooltip { + background: #${bg.darkester}; + } - #workspaces button:hover { - border-radius: 8px; - background: #${fg.lightest}; - color: #${bg.darkest}; - } + #workspaces button { + color: #${fg.lightest}; + background: #${bg.darkester}; + } - #workspaces button.active { - background: #${fg.lightester}; - border-radius: 8px; - color: #${bg.darkest}; - } + #workspaces button.active { + color: #${bg.darker}; + background: #${bg.darkester}; + } - #cava { - background: #${bg.darker}; - border-radius: 8px; - border: 3px solid #${bg.dark}; - margin: 3px 3px 3px 6px; - padding: 0px 15px 0px 15px; - color: #${colors.color6}; - } + #workspaces button.focused { + color: #${bg.dark}; + background: #${bg.darkester}; + } - #window { - margin: 3px; - background: #${bg.darker}; - border-radius: 8px; - border: 3px solid #${bg.dark}; - padding: 0 15px 0 15px; - font-weight: bold; - } + #workspaces button.urgent { + color: #${fg.lightest}; + background: #${bg.darkester}; + } - #hardware { - margin: 3px; - padding: 0 10px 0 10px; - background: #${bg.darker}; - border-radius: 8px; - border: 3px solid #${bg.dark}; - } + #workspaces button:hover { + color: #${fg.lightest}; + background: #${bg.darkester}; + } - #custom-disk-icon, #cpu, #memory { - margin-bottom: 4px; - font-size: 20px; - font-weight: bold; - } + #window, + #clock, + #pulseaudio, + #network, + #workspaces, + #tray, + #cpu { + padding: 0px 10px; + margin: 0px; + } - #custom-disk-icon { - color: #${colors.color4}; - } + #tray { + margin-right: 10px; + } - #memory { - color: #${colors.color1}; - } + #workspaces { + color: #${fg.lightest}; + } - #cpu { - color: #${colors.color3}; - } + #window { + color: #${fg.lightest}; + } - #clock { - font-weight: bold; - background: #${bg.darker}; - border-radius: 8px; - border: 3px solid #${bg.dark}; - margin: 3px; - padding: 0 10px 0 10px; - font-size: 18px; - } + #clock { + color: #${fg.lightest}; + } - #powerbtns { - background: #${bg.darker}; - border-radius: 8px; - border: 3px solid #${bg.dark}; - margin: 3px; - padding: 0 5px 0 10px; - } + #network { + color: #${fg.lightest}; + } - #custom-power { - color: #${colors.color2}; - font-size: 18px; - } - - #custom-logout { - color: #${colors.color4}; - font-size: 18px; - } - - #custom-reboot { - color: #${colors.color0}; - font-size: 18px; - } - - #audio { - background: #${bg.darker}; - border-radius: 8px; - border: 3px solid #${bg.dark}; - margin: 3px; - padding: 5px 0 10px 0; - } - - #pulseaudio { - color: #${colors.color1}; - font-size: 18px; - } - - #backlight-slider slider, - #pulseaudio-slider slider { - background: #${colors.color4}; - background-color: transparent; - box-shadow: none; - } - - #backlight-slider trough, - #pulseaudio-slider trough { - min-width: 9px; - min-height: 90px; - border-radius: 8px; - background: #121212; - } - - #backlight-slider highlight, - #pulseaudio-slider highlight { - border-radius: 8px; - background-color: #${colors.color4}; - } - - #network { - color: #${colors.color1}; - font-size: 20px; - background: #${bg.darker}; - border-radius: 8px; - border: 3px solid #${bg.dark}; - margin: 3px; - padding: 5px 0 5px 6px; - } - - #brightness { - background: #${bg.darker}; - border-radius: 8px; - border: 3px solid #${bg.dark}; - margin: 3px; - padding: 10px 0px 5px 0; - } - - #backlight { - color: #${colors.color4}; - font-size: 18px; - padding: 0 4px 0 0; - } - - #battery { - color: #${colors.color4}; - font-size: 20px; - background: #${bg.darker}; - border: 3px solid #${bg.dark}; - border-radius: 8px; - margin: 3px; - padding: 5px 0 5px 0px; - } + #pulseaudio { + color: #${fg.lightest}; + } ''; }; }; diff --git a/modules/home/programs/git.nix b/modules/home/programs/git.nix index 153cd77..e3c6e07 100755 --- a/modules/home/programs/git.nix +++ b/modules/home/programs/git.nix @@ -6,11 +6,6 @@ config = lib.mkIf config.movOpts.programConfigs.gitConfig.enable { programs.git = { enable = true; - signing = { - signer = "${pkgs.gnupg}/bin/gpg"; - key = "2453DF4EF63B92D5D8FE8C9DC741C9DFD8156540"; - signByDefault = true; - }; userEmail = "kylerclay@proton.me"; userName = "${username}"; extraConfig = { diff --git a/modules/home/programs/nixvim/default.nix b/modules/home/programs/nixvim/default.nix index bb7d224..f1cf14c 100755 --- a/modules/home/programs/nixvim/default.nix +++ b/modules/home/programs/nixvim/default.nix @@ -1,3 +1,9 @@ { env, config, pkgs, host, self, ... }: { + programs.nixvim.extraPackages = [ + pkgs.cargo + pkgs.rustc + pkgs.rustup + pkgs.rust-analyzer + ]; imports = [ ./plugins ./options.nix ./keymaps.nix ./autocmd.nix ]; } diff --git a/modules/home/programs/nixvim/keymaps.nix b/modules/home/programs/nixvim/keymaps.nix index aa7264b..b10d73e 100755 --- a/modules/home/programs/nixvim/keymaps.nix +++ b/modules/home/programs/nixvim/keymaps.nix @@ -3,7 +3,7 @@ keymaps = [ { action = "Telescope find_files"; # select entire document - key = "!fs"; + key = ""; mode = "n"; } { @@ -46,11 +46,6 @@ key = ""; mode = [ "n" "t" ]; } - { - action = "NvimTreeToggle"; - key = ""; - mode = "n"; - } { action = "COQnow"; key = "!cq"; diff --git a/modules/home/programs/nixvim/options.nix b/modules/home/programs/nixvim/options.nix index c94771b..c20ee52 100755 --- a/modules/home/programs/nixvim/options.nix +++ b/modules/home/programs/nixvim/options.nix @@ -26,15 +26,17 @@ in { #}; }; enable = true; - diagnostic.settings.signs = false; + diagnostic.settings = { + virtual_text = true; + signs = false; + }; extraConfigLua = '' if vim.g.started_by_firenvim == true then vim.o.laststatus = 0 end if vim.g.neovide then vim.g.neovide_refresh_rate = 144 - vim.g.neovide_cursor_vfx_mode = "sonicboom" - vim.g.neovide_cursor_animate_in_insert_mode = false + vim.g.neovide_cursor_animate_in_insert_mode = true end vim.g.vimwiki_list = {{path = '~/vimwiki/', syntax = 'markdown', ext = '.md'}} diff --git a/modules/home/programs/nixvim/plugins/cmp.nix b/modules/home/programs/nixvim/plugins/cmp.nix index 540b3d5..154e420 100755 --- a/modules/home/programs/nixvim/plugins/cmp.nix +++ b/modules/home/programs/nixvim/plugins/cmp.nix @@ -2,8 +2,19 @@ programs.nixvim = { plugins.cmp = { autoEnableSources = true; - settings.sources = - [ { name = "nvim_lsp"; } { name = "path"; } { name = "buffer"; } ]; + settings = { + sources = [ + { + name = "nvim_lsp"; + } + { + name = "path"; + } + { + name = "buffer"; + } + ]; + }; }; plugins.cmp-nvim-lsp.enable = true; plugins.cmp-nvim-lsp-document-symbol.enable = true; diff --git a/modules/home/programs/nixvim/plugins/copilot.nix b/modules/home/programs/nixvim/plugins/copilot.nix new file mode 100644 index 0000000..b171127 --- /dev/null +++ b/modules/home/programs/nixvim/plugins/copilot.nix @@ -0,0 +1,10 @@ +{ + programs.nixvim.plugins.copilot-lua = { + enable = true; + settings = { + suggestion = { + auto_trigger = false; + }; + }; + }; +} diff --git a/modules/home/programs/nixvim/plugins/default.nix b/modules/home/programs/nixvim/plugins/default.nix index eaa0190..90787e0 100755 --- a/modules/home/programs/nixvim/plugins/default.nix +++ b/modules/home/programs/nixvim/plugins/default.nix @@ -16,6 +16,7 @@ ./airline.nix ./nvim-lightbulb.nix ./neocord.nix + ./copilot.nix ./plugins.nix ./nvim-tree.nix ./telescope.nix diff --git a/modules/home/programs/nixvim/plugins/lsp.nix b/modules/home/programs/nixvim/plugins/lsp.nix index 952cf2f..267c5ed 100755 --- a/modules/home/programs/nixvim/plugins/lsp.nix +++ b/modules/home/programs/nixvim/plugins/lsp.nix @@ -13,28 +13,51 @@ [''] = cmp.mapping.scroll_docs(-4), [''] = cmp.mapping.scroll_docs(4), [''] = cmp.mapping.complete(), - [''] = cmp.mapping.abort(), + [''] = function() + local copilot = require("copilot.suggestion") + cmp.abort() + copilot.next() + end, [''] = function(fallback) if cmp.visible() then cmp.confirm() else fallback() end - end, -- Added a comma here + end, [''] = function(fallback) + local copilot = require("copilot.suggestion") if cmp.visible() then cmp.select_next_item() + elseif copilot.is_visible() then + cmp.abort() + copilot.accept() else fallback() end - end, -- Added a comma here - [''] = function(fallback) + end, + [''] = function(fallback) + local copilot = require("copilot.suggestion") if cmp.visible() then cmp.select_prev_item() + elseif copilot.is_visible() then + cmp.abort() + copilot.accept_word() else fallback() end - end -- No comma needed for the last item + end, + [''] = function(fallback) + local copilot = require("copilot.suggestion") + if cmp.visible() then + cmp.select_prev_item() + elseif copilot.is_visible() then + cmp.abort() + copilot.accept_line() + else + fallback() + end + end }) ''; }; diff --git a/modules/sys/hardware/network.nix b/modules/sys/hardware/network.nix index 6b901a7..a300624 100755 --- a/modules/sys/hardware/network.nix +++ b/modules/sys/hardware/network.nix @@ -11,6 +11,7 @@ "192.168.1.200" = [ "xenon" ]; "192.168.1.201" = [ "oganesson" ]; "192.168.1.202" = [ "mercury" ]; + "192.168.1.134" = [ "hosting.localhost" ]; }; firewall = { enable = true; diff --git a/modules/sys/software/gaming/gaming_pkgs.nix b/modules/sys/software/gaming/gaming_pkgs.nix index 6937ec3..65c078a 100755 --- a/modules/sys/software/gaming/gaming_pkgs.nix +++ b/modules/sys/software/gaming/gaming_pkgs.nix @@ -9,6 +9,9 @@ let "-DDOWNLOAD_TITLE_SEQUENCES=ON" ]; }); + cust-prismlauncher = pkgs.prismlauncher.override (oldAttrs: { + jdks = [ pkgs.temurin-bin-21 ]; + }); in { options = { movOpts.softwareCfg.gamingPkgs.enable = @@ -19,8 +22,7 @@ in { #snes9x-gtk #cust-openrct2 mgba - dwarf-fortress-packages.dwarf-fortress-full - prismlauncher + cust-prismlauncher ]; }; } diff --git a/modules/sys/software/packages.nix b/modules/sys/software/packages.nix index e51ceae..77a415e 100755 --- a/modules/sys/software/packages.nix +++ b/modules/sys/software/packages.nix @@ -20,6 +20,7 @@ hyprpaper hyprpicker inetutils + rcon-cli kitty lolcat lsof diff --git a/modules/sys/sysenv/stylix.nix b/modules/sys/sysenv/stylix.nix index 7782c12..bc83c44 100755 --- a/modules/sys/sysenv/stylix.nix +++ b/modules/sys/sysenv/stylix.nix @@ -1,7 +1,7 @@ { pkgs, self, lib, config, ... }: let - scheme = "chalk"; + scheme = "ayu-dark"; wallpaper = "${self}/assets/wallpapers/dark-waves.jpg"; in { options = {