From ba66937ee39b32bbcd40c051502309bb965de140 Mon Sep 17 00:00:00 2001 From: "Wyatt J. Miller" Date: Thu, 9 Oct 2025 14:27:05 -0400 Subject: [PATCH] wip: adding standalone home-manager config need to modularize though --- defaults/sway/config | 52 ++++++++++++++--------------- flake.lock | 70 +++++++++++++++++++++++++++++++++++++++- flake.nix | 14 ++++++++ home/browser.nix | 4 +-- home/default.nix | 5 +-- home/fonts.nix | 16 +++++++++ home/packages/common.nix | 6 +++- home/packages/linux.nix | 13 +++++--- home/shell.nix | 6 ++-- home/terminal.nix | 49 ++++++++++++++++++++++++++-- 10 files changed, 191 insertions(+), 44 deletions(-) create mode 100644 home/fonts.nix diff --git a/defaults/sway/config b/defaults/sway/config index 40c4ff0..f5b7c41 100644 --- a/defaults/sway/config +++ b/defaults/sway/config @@ -7,37 +7,41 @@ set $down j set $up k set $right l # Alacritty -set $term alacritty +set $term foot # Menu (rofi) -set $menu wofi --term '$term' +set $menu wofi --show -### Output configuration -output DP-3 pos 3840 0 res 1920x1080@59Hz -output HDMI-A-1 pos 0 0 res 1920x1080@59Hz -output DP-2 pos 1920 0 res 1920x1080@60Hz +# ### Output configuration +# output DP-3 pos 3840 0 res 1920x1080@59Hz +# output HDMI-A-1 pos 0 0 res 1920x1080@59Hz +# output DP-2 pos 1920 0 res 1920x1080@60Hz ### Wallpaper -output HDMI-A-1 bg ~/.wallpaper/.wallpaper.png fill -output DP-2 bg ~/.wallpaper/.wallpaper.png fill -output DP-3 bg ~/.wallpaper/.wallpaper.png fill +output * bg ~/.wallpaper/.wallpaper.png fill +# output HDMI-A-1 bg ~/.wallpaper/.wallpaper.png fill +# output DP-2 bg ~/.wallpaper/.wallpaper.png fill +# output DP-3 bg ~/.wallpaper/.wallpaper.png fill ### Workspace binding ## DP-3 bindings -workspace 1 output DP-2 -workspace 2 output DP-2 -workspace 4 output DP-2 -workspace 5 output DP-2 +# workspace 1 output DP-2 +# workspace 2 output DP-2 +# workspace 4 output DP-2 +# workspace 5 output DP-2 +# +# ## HDMI-A-1 bindings +# workspace 3 output HDMI-A-1 +# workspace 9 output HDMI-A-1 +# +# ## DP-2 bindings +# workspace 6 output DP-3 +# workspace 7 output DP-3 +# workspace 8 output DP-3 -## HDMI-A-1 bindings -workspace 3 output HDMI-A-1 -workspace 9 output HDMI-A-1 - -## DP-2 bindings -workspace 6 output DP-3 -workspace 7 output DP-3 -workspace 8 output DP-3 +## eDP-1 bindings scale +output eDP-1 scale 1.25 ### Colour options set $bg #24283b @@ -228,10 +232,4 @@ set $opacity 1.00 for_window [class=".*"] opacity $opacity for_window [app_id=".*"] opacity $opacity -# Disable locking when conditions are met -for_window [class="streaming_client"] inhibit_idle fullscreen -for_window [app_id="firefox"] inhibit_idle fullscreen -for_window [app_id="neovide"] inhibit_idle fullscreen - -for_window [title="Beyond All Reason"] inhibit_idle fullscreen include /etc/sway/config.d/* diff --git a/flake.lock b/flake.lock index e482aa1..df61c50 100644 --- a/flake.lock +++ b/flake.lock @@ -55,6 +55,24 @@ "type": "github" } }, + "flake-utils_2": { + "inputs": { + "systems": "systems_2" + }, + "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" + } + }, "ghostty": { "inputs": { "flake-compat": "flake-compat", @@ -114,6 +132,25 @@ "type": "github" } }, + "nixgl": { + "inputs": { + "flake-utils": "flake-utils_2", + "nixpkgs": "nixpkgs_3" + }, + "locked": { + "lastModified": 1752054764, + "narHash": "sha256-Ob/HuUhANoDs+nvYqyTKrkcPXf4ZgXoqMTQoCK0RFgQ=", + "owner": "guibou", + "repo": "nixGL", + "rev": "a8e1ce7d49a149ed70df676785b07f63288f53c5", + "type": "github" + }, + "original": { + "owner": "guibou", + "repo": "nixGL", + "type": "github" + } + }, "nixpkgs": { "locked": { "lastModified": 1748189127, @@ -141,6 +178,21 @@ } }, "nixpkgs_3": { + "locked": { + "lastModified": 1746378225, + "narHash": "sha256-OeRSuL8PUjIfL3Q0fTbNJD/fmv1R+K2JAOqWJd3Oceg=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "93e8cdce7afc64297cfec447c311470788131cd9", + "type": "github" + }, + "original": { + "owner": "nixos", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_4": { "locked": { "lastModified": 1759281824, "narHash": "sha256-FIBE1qXv9TKvSNwst6FumyHwCRH3BlWDpfsnqRDCll0=", @@ -162,7 +214,8 @@ "ghostty": "ghostty", "home-manager": "home-manager", "nix-flatpak": "nix-flatpak", - "nixpkgs": "nixpkgs_3" + "nixgl": "nixgl", + "nixpkgs": "nixpkgs_4" } }, "systems": { @@ -180,6 +233,21 @@ "type": "github" } }, + "systems_2": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, "zig": { "inputs": { "flake-compat": [ diff --git a/flake.nix b/flake.nix index 9b6f461..6e21846 100644 --- a/flake.nix +++ b/flake.nix @@ -12,6 +12,7 @@ inputs.nixpkgs.follows = "nixpkgs"; }; ghostty.url = "github:ghostty-org/ghostty"; + nixgl.url = "github:guibou/nixGL"; }; outputs = inputs @ { @@ -21,6 +22,7 @@ darwin, home-manager, ghostty, + nixgl, ... }: let userName = "wyatt"; @@ -129,5 +131,17 @@ # } # ]; }; + + # For anyone running home-manager standalone + homeConfigurations.${userName} = home-manager.lib.homeManagerConfiguration { + pkgs = nixpkgs.legacyPackages.x86_64-linux; + modules = [ + ./home + ]; + # Optionally, pass specialArgs if needed + extraSpecialArgs = extraSpecialArgs // { + inherit nixgl; + }; + }; }; } diff --git a/home/browser.nix b/home/browser.nix index 9cd69e9..b8eb69e 100644 --- a/home/browser.nix +++ b/home/browser.nix @@ -38,14 +38,14 @@ (createChromiumExtension { # ublock origin id = "cjpalhdlnbpafiamejdnhcphjbkeiagm"; - sha256 = "sha256:0pdh1v0vx1d5vnl1zh7nbk6j1fh4k4hhwp1ljs203icn306lahsn"; + sha256 = "sha256:054kqrai2kd89bzc5c3x17rjfdil2zzxrxrg65vaywmvm77y7kmn"; # sha256 = lib.fakeSha256; version = "1.64.0"; }) (createChromiumExtension { # bitwarden id = "nngceckbapebfimnlniiiahkandclblb"; - sha256 = "sha256:0jxk3cqmgd5qj8hnw7s0k5s4bfrcmr0w0rckp3x0bmng07azw4gi"; + sha256 = "sha256:02cscadjqbfx3a5bky1zc38pxymzgndb9h3wing3pb0fwm30yrzd"; # sha256 = lib.fakeSha256; version = "2025.5.0"; }) diff --git a/home/default.nix b/home/default.nix index c463789..1f965f3 100644 --- a/home/default.nix +++ b/home/default.nix @@ -27,6 +27,7 @@ in { ./browser.nix ./zellij.nix ./bat.nix + ./fonts.nix ]; # Home Manager needs a bit of information about you and the @@ -39,9 +40,9 @@ in { else "/home/${userName}"; sessionVariables = { - XDG_CURRENT_DESKTOP = "sway"; + XDG_CURRENT_DESKTOP = "gnome"; XDG_SESSION_TYPE = "wayland"; - XDG_SESSION_DESKTOP="sway"; + XDG_SESSION_DESKTOP="gnome"; XDG_CONFIG_HOME = "$HOME/.config"; XDG_CACHE_HOME = "$HOME/.cache"; XDG_DATA_HOME = "$HOME/.local/share"; diff --git a/home/fonts.nix b/home/fonts.nix new file mode 100644 index 0000000..8c0b193 --- /dev/null +++ b/home/fonts.nix @@ -0,0 +1,16 @@ +{ + pkgs, + lib, + ... +}: { + fonts.fontconfig.enable = true; + home.packages = with pkgs; + [ + noto-fonts + noto-fonts-emoji + liberation_ttf + noto-fonts-cjk-sans + monaspace + ] + ++ builtins.filter lib.attrsets.isDerivation (builtins.attrValues pkgs.nerd-fonts); +} diff --git a/home/packages/common.nix b/home/packages/common.nix index 03034f2..420dcce 100644 --- a/home/packages/common.nix +++ b/home/packages/common.nix @@ -39,9 +39,13 @@ babelfish # language-specific package managers - nodejs + # nodejs + fnm cargo python3 + python312Packages.gyp + node-gyp + node-pre-gyp # nix specific stuff nixd diff --git a/home/packages/linux.nix b/home/packages/linux.nix index eb7c33a..40e0b51 100644 --- a/home/packages/linux.nix +++ b/home/packages/linux.nix @@ -5,16 +5,19 @@ }: { home.packages = lib.mkIf pkgs.stdenv.isLinux (with pkgs; [ imv - betterdiscordctl - vesktop + # betterdiscordctl + # vesktop xdg-utils - mcrcon xfce.thunar pavucontrol - godot - aseprite + # godot + # aseprite gpu-screen-recorder gpu-screen-recorder-gtk # ungoogled-chromium + playerctl + light + brightnessctl + wttrbar ]); } diff --git a/home/shell.nix b/home/shell.nix index a2b4f98..a8f9553 100644 --- a/home/shell.nix +++ b/home/shell.nix @@ -1,9 +1,9 @@ {pkgs, lib, ...}: { programs.fish = { enable = true; - # initExtra = '' - # export PATH="$PATH:$HOME/bin:$HOME/.local/bin:$HOME/go/bin" - # ''; + shellInit = '' + fnm env --use-on-cd --shell fish | source + ''; shellAliases = { # ls aliases diff --git a/home/terminal.nix b/home/terminal.nix index 8050faa..a1fe196 100644 --- a/home/terminal.nix +++ b/home/terminal.nix @@ -100,9 +100,52 @@ }; }; - programs.kitty = { - enable = false; # TODO: to enable later - }; + + programs.foot = { + enable = true; + settings = { + main = { + font = "Monaspace Argon:size=11"; + }; + colors = { + alpha = 0.9; + + cursor = "11111b f5e0dc"; + foreground = "cdd6f4"; + background = "1e1e2e"; + + regular0 = "45475a"; + regular1 = "f38ba8"; + regular2 = "a6e3a1"; + regular3 = "f9e2af"; + regular4 = "89b4fa"; + regular5 = "f5c2e7"; + regular6 = "94e2d5"; + regular7 = "bac2de"; + + bright0 = "585b70"; + bright1 = "f38ba8"; + bright2 = "a6e3a1"; + bright3 = "f9e2af"; + bright4 = "89b4fa"; + bright5 = "f5c2e7"; + bright6 = "94e2d5"; + bright7 = "a6adc8"; + + "16" = "fab387"; + "17" = "f5e0dc"; + + selection-foreground = "cdd6f4"; + selection-background = "414356"; + + search-box-no-match = "11111b f38ba8"; + search-box-match = "cdd6f4 313244"; + + jump-labels = "11111b fab387"; + urls = "89b4fa"; + }; + }; + }; home.packages = if pkgs.stdenv.isLinux then [ ghostty.packages.${pkgs.system}.default ]