diff --git a/home-manager/autumn/home.nix b/home-manager/autumn/home.nix index c013969..54d9472 100644 --- a/home-manager/autumn/home.nix +++ b/home-manager/autumn/home.nix @@ -41,39 +41,13 @@ programs.htop.enable = true; programs.starship.enable = true; - programs.bash.initExtra = "fish"; + programs.bash.initExtra = " + fish + "; wayland.windowManager.river.enable = true; - # Home Manager is pretty good at managing dotfiles. The primary way to manage - # plain files is through 'home.file'. - home.file = { - # # symlink to the Nix store copy. - # ".screenrc".source = dotfiles/screenrc; - # # You can also set the file content immediately. - # ".gradle/gradle.properties".text = '' - # org.gradle.console=verbose - # org.gradle.daemon.idletimeout=3600000 - # ''; - }; - - # Home Manager can also manage your environment variables through - # 'home.sessionVariables'. These will be explicitly sourced when using a - # shell provided by Home Manager. If you don't want to manage your shell - # through Home Manager then you have to manually source 'hm-session-vars.sh' - # located at either - # - # ~/.nix-profile/etc/profile.d/hm-session-vars.sh - # - # or - # - # ~/.local/state/nix/profiles/profile/etc/profile.d/hm-session-vars.sh - # - # or - # - # /etc/profiles/per-user/autumn/etc/profile.d/hm-session-vars.sh - # home.sessionVariables = { EDITOR = "helix"; TERM = "alacritty"; diff --git a/home-manager/packages/fuzzel/fuzzel.nix b/home-manager/packages/fuzzel/fuzzel.nix index a7fbd98..30a821f 100644 --- a/home-manager/packages/fuzzel/fuzzel.nix +++ b/home-manager/packages/fuzzel/fuzzel.nix @@ -2,9 +2,9 @@ { -home.packages = with pkgs; [ - fuzzel -]; +#home.packages = with pkgs; [ +# fuzzel +#]; programs.fuzzel = { enable = true; diff --git a/home-manager/packages/river/river.nix b/home-manager/packages/river/river.nix index b4a3742..147d75c 100644 --- a/home-manager/packages/river/river.nix +++ b/home-manager/packages/river/river.nix @@ -11,9 +11,15 @@ wayland.windowManager.river = { enable = true; + systemd.enable = true; settings = { - default-layout = "wideriver"; - send-layout-cmd="wideriver \"--layout left --stack dwindle --count 1 --ratio 0.5\""; + spawn = [ +# "waybar" + "~/login-wm-setup-2.sh" +# "wideriver" + ]; + output-layout = "wideriver"; + rule-add = "ssd"; map = { normal = { "Super Return" = "spawn alacritty"; @@ -22,10 +28,10 @@ "Super K" = "focus-view previous"; "Super+Shift J" = "swap next"; "Super+Shift K" = "swap previous"; - "Super R" = "fuzzel"; + "Super R" = "spawn fuzzel"; }; }; - }; + }; }; } diff --git a/home-manager/packages/starship/starship.toml b/home-manager/packages/starship/starship.toml index e9161d1..7d73d4d 100644 --- a/home-manager/packages/starship/starship.toml +++ b/home-manager/packages/starship/starship.toml @@ -9,7 +9,7 @@ $directory\ [](fg:#EF7627 bg:#FF9A56)\ $git_branch\ $git_status\ -[](fg:#FF9A56 bg:#2b3339)\ +[](fg:#FF9A56 bg:#D162A4)\ $c\ $python\ $elixir\ @@ -19,7 +19,6 @@ $haskell\ $java\ $julia\ $nodejs\ -$nix_shell\ $nim\ $rust\ $zig\ @@ -114,11 +113,6 @@ symbol = " " style = "fg:#d3c6aa bg:#D162A4" format = '[[ $symbol ($version) ](fg:#d3c6aa bg:#D162A4)]($style)' -[nix_shell] -symbol = "󱄅 " -style = "fg:#d3c6aa bg:#D162a4" -format = '[[ $symbol ($version) ](fg:#d3c6aa bg:#d126a4)]($style)' - [nim] symbol = " " style = "fg:#d3c6aa bg:#D162A4" diff --git a/home-manager/packages/waybar/waybar.nix b/home-manager/packages/waybar/waybar.nix index 8b5c2a2..5506144 100644 --- a/home-manager/packages/waybar/waybar.nix +++ b/home-manager/packages/waybar/waybar.nix @@ -2,12 +2,13 @@ { -home.packages = with pkgs; [ - waybar -]; + home.packages = with pkgs; [ + waybar + ]; programs.waybar = { enable = true; + systemd.enable = true; settings = { mainBar = { layer = "top"; @@ -17,193 +18,136 @@ home.packages = with pkgs; [ # Module layout modules-right = [ - "idle_inhibitor" "pulseaudio" - "network#physical" - "network#vpn" "network#wifi" - "power-profiles-daemon" "cpu" "memory" "temperature" "backlight" - "keyboard-state" - "sway/language" "battery" "clock" "tray" ]; # Module configurations - "keyboard-state" = { - numlock = true; - capslock = true; - format = "{name} {icon}"; + + + + "tray" = { + icon-size = 21; + spacing = 10; + }; + + "clock" = { + # timezone = "America/Denver"; + tooltip-format = "{:%Y %B}\n{calendar}"; + format-alt = "{:%Y-%m-%d}"; + }; + + "cpu" = { + format = "{usage}% "; + tooltip = true; + }; + + "memory" = { + format = "{}% "; + }; + + "temperature" = { + # thermal-zone = 2; + # hwmon-path = "/sys/class/hwmon/hwmon2/temp1_input"; + critical-threshold = 80; + format-critical = "{temperatureC}°C {icon}"; + format = "{temperatureC}°C {icon}"; + format-icons = ["" "" ""]; + }; + + "backlight" = { + format = "{percent}% {icon}"; + format-icons = ["" "" "" "" "" "" "" "" ""]; + }; + + "battery" = { + states = { + good = 95; + warning = 30; + critical = 15; + }; + format = "{icon} {capacity}%"; + format-full = "{icon} Full"; + format-charging = "{icon} Charging {capacity}% {time}"; + format-plugged = "{icon} Charge complete"; + format-good = ">{icon} {capacity}%"; + format-icons = ["" "" "" "" "" "" "" ""]; + }; + + "network#wifi" = { + interface = "wlp*"; + format-wifi = "{essid} ({signalStrength}%) "; + tooltip-format = "{ifname} via {gwaddr} "; + format-linked = "{ifname} (No IP) "; + format-disconnected = "No WiFi"; + format-alt = "{ifname}: {ipaddr}/{cidr}"; + }; + + "pulseaudio" = { + format = "{volume}% {icon} {format_source}"; + format-bluetooth = "{volume}% {icon} {format_source}"; + format-bluetooth-muted = " {icon} {format_source}"; + format-muted = " {format_source}"; + format-source = "{volume}% "; + format-source-muted = ""; format-icons = { - locked = ""; - unlocked = ""; - }; - }; - - - "idle_inhibitor" = { - format = "{icon}"; - format-icons = { - activated = ""; - deactivated = ""; - }; - }; - - "tray" = { - icon-size = 21; - spacing = 10; - }; - - "clock" = { - # timezone = "America/Denver"; - tooltip-format = "{:%Y %B}\n{calendar}"; - format-alt = "{:%Y-%m-%d}"; - }; - - "cpu" = { - format = "{usage}% "; - tooltip = true; - }; - - "memory" = { - format = "{}% "; - }; - - "temperature" = { - # thermal-zone = 2; - # hwmon-path = "/sys/class/hwmon/hwmon2/temp1_input"; - critical-threshold = 80; - format-critical = "{temperatureC}°C {icon}"; - format = "{temperatureC}°C {icon}"; - format-icons = ["" "" ""]; - }; - - "backlight" = { - format = "{percent}% {icon}"; - format-icons = ["" "" "" "" "" "" "" "" ""]; - }; - - "battery" = { - states = { - good = 95; - warning = 30; - critical = 15; - }; - format = "{icon} {capacity}%"; - format-full = "{icon} Full"; - format-charging = "{icon} Charging {capacity}% {time}"; - format-plugged = "{icon} Charge complete"; - format-good = ">{icon} {capacity}%"; - format-icons = ["" "" "" "" "" "" "" ""]; - }; - - "power-profiles-daemon" = { - format = "{icon}"; - tooltip-format = "Power profile: {profile}\nDriver: {driver}"; - tooltip = true; - format-icons = { - default = ""; - performance = ""; - balanced = ""; - power-saver = ""; - }; - }; - - "network#physical" = { - interface = "enp0s13f*"; - format-ethernet = "{ipaddr}/{cidr} "; - format = "{ipaddr}/{cidr} "; - tooltip-format = "{ifname} via {gwaddr} "; - format-linked = "{ifname} (Linked) "; - format-disconnected = ""; - format-alt = "{ifname}: {ipaddr}/{cidr}"; - }; - - "network#vpn" = { - interface = "tun*"; - format-wifi = "{essid} ({signalStrength}%) "; - format-ethernet = "{ipaddr}/{cidr} "; - tooltip-format = "{ifname} via {gwaddr} "; - format-linked = "{ifname} (No IP) "; - format-disconnected = "click for VPN"; - format-alt = "{ifname}: {ipaddr}/{cidr}"; - # on-click = "kitty --override tab_bar_style=hidden --title 'vpn-launcher' --app-id 'vpn-launcher' /bin/bash -c $HOME/bin/vpn"; - }; - - "network#wifi" = { - interface = "wlp*"; - format-wifi = "{essid} ({signalStrength}%) "; - tooltip-format = "{ifname} via {gwaddr} "; - format-linked = "{ifname} (No IP) "; - format-disconnected = "No WiFi"; - format-alt = "{ifname}: {ipaddr}/{cidr}"; - }; - - "pulseaudio" = { - format = "{volume}% {icon} {format_source}"; - format-bluetooth = "{volume}% {icon} {format_source}"; - format-bluetooth-muted = " {icon} {format_source}"; - format-muted = " {format_source}"; - format-source = "{volume}% "; - format-source-muted = ""; - format-icons = { - headphone = ""; - hands-free = ""; - headset = ""; - phone = ""; - portable = ""; - car = ""; - default = ["" "" ""]; - }; - on-click = "pavucontrol"; + headphone = ""; + hands-free = ""; + headset = ""; + phone = ""; + portable = ""; + car = ""; + default = ["" "" ""]; }; + on-click = "pavucontrol"; }; }; + }; # Waybar styling inspired by the referenced swayhome configuration - style = '' - * { - font-family: "JetBrains Mono", "Font Awesome 6 Free"; - font-size: 13px; -} + style = '' + * { + font-family: "JetBrains Mono", "Font Awesome 6 Free"; + font-size: 13px; + } + window#waybar { + color: #ffffff; + background-color: #1e3b28; + border-bottom: 3px solid #8f2fef; + transition-property: background-color; + transition-duration: .5s; + } -window#waybar { - color: #ffffff; - background-color: #1e3b28; - border-bottom: 3px solid #8f2fef; - transition-property: background-color; - transition-duration: .5s; -} + window#waybar.hidden { + opacity: 0.2; + } -window#waybar.hidden { - opacity: 0.2; -} + button { + box-shadow: inset 0 -3px transparent; + border: none; + border-radius: 0; + } + button:hover { + background: inherit; + box-shadow: inset 0 -3px #ffffff; + } -button { - box-shadow: inset 0 -3px transparent; - border: none; - border-radius: 0; -} + #workspaces button { + padding: 0 15px; + background-color: transparent; + border: 2px solid #8f2fef + } -button:hover { - background: inherit; - box-shadow: inset 0 -3px #ffffff; -} - -#workspaces button { - padding: 0 15px; - background-color: transparent; - border: 2px solid #8f2fef -} - -#workspaces button:hover { - background: rgba(255, 255, 255, 0.2); -} + #workspaces button:hover { + background: rgba(255, 255, 255, 0.2); + } #workspaces button.focused { background-color: #8f2fef; @@ -357,10 +301,10 @@ button:hover { color: #ffffff; background-color: transparent; border-bottom: 3px solid #94e2d5; -} + } ''; }; + } - diff --git a/system/nixos/configuration.nix b/system/nixos/configuration.nix index 0120b31..2fa5371 100644 --- a/system/nixos/configuration.nix +++ b/system/nixos/configuration.nix @@ -47,7 +47,6 @@ services.displayManager.sddm.wayland.enable = true; services.displayManager.sddm.enable = true; programs.river.enable = true; - services.flatpak.enable = true; xdg.portal = { enable = true; @@ -56,7 +55,6 @@ pkgs.kdePackages.xdg-desktop-portal-kde ]; }; - services.printing.enable = true; services.pulseaudio.enable = false; security.rtkit.enable = true; @@ -113,8 +111,9 @@ # List packages installed in system profile. To search, run: # $ nix search wget environment.systemPackages = with pkgs; [ - pkgs.vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default. + vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default. # wget + pavucontrol ]; nix.settings.experimental-features = ["nix-command" "flakes"]; @@ -133,19 +132,7 @@ # Enable the OpenSSH daemon. services.openssh.enable = true; - # Open ports in the firewall. - # networking.firewall.allowedTCPPorts = [ ... ]; - # networking.firewall.allowedUDPPorts = [ ... ]; - # Or disable the firewall altogether. - # networking.firewall.enable = false; - - # This value determines the NixOS release from which the default - # settings for stateful data, like file locations and database versions - # on your system were taken. It‘s perfectly fine and recommended to leave - # this value at the release version of the first install of this system. - # Before changing this value read the documentation for this option - # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). - system.stateVersion = "25.05"; # Did you read the comment? + system.stateVersion = "25.05"; system.autoUpgrade.enable = true; system.autoUpgrade.allowReboot = true;