diff --git a/flake.lock b/flake.lock index 365d59c..fa411eb 100644 --- a/flake.lock +++ b/flake.lock @@ -235,11 +235,11 @@ ] }, "locked": { - "lastModified": 1761395627, - "narHash": "sha256-9wQpgBRW2PzYw1wx+MgCt1IbPAYz93csApLMgSZOJCk=", + "lastModified": 1762183399, + "narHash": "sha256-vr2aL1QLfERYTfYBgK8cW3T9eSdSEThH462wKaGlmEU=", "owner": "nix-community", "repo": "home-manager", - "rev": "7296022150cd775917e4c831c393026eae7c2427", + "rev": "a5fee077929ae2f2800c3087dce5e1abb4edfbc6", "type": "github" }, "original": { @@ -342,11 +342,11 @@ "xdph": "xdph" }, "locked": { - "lastModified": 1761389866, - "narHash": "sha256-g651rIXUD0YAH8yHBsJh1yTrcOg+vDWVRj82A4d67LA=", + "lastModified": 1761869718, + "narHash": "sha256-CiKN7TRaCk3MF/FAwCMEO91TKFWS6bONhF8mhYPKhAU=", "ref": "refs/heads/main", - "rev": "b10b9660004b3dfaf9e11a305d78f24955b089a4", - "revCount": 6527, + "rev": "8e9add2afda58d233a75e4c5ce8503b24fa59ceb", + "revCount": 6549, "submodules": true, "type": "git", "url": "https://github.com/hyprwm/Hyprland" @@ -541,11 +541,11 @@ "systems": "systems_2" }, "locked": { - "lastModified": 1760659264, - "narHash": "sha256-2IV5aOvkJ/lBObKpJ90HEGHybppMAcw71tRhcg6MBJM=", + "lastModified": 1761923011, + "narHash": "sha256-7wjem/IGv2+El/JWMm9c5amTU7ifX72ALK8XgmZRoiQ=", "owner": "hyprwm", "repo": "hyprpicker", - "rev": "cd7ba93fadabe391aa8a6e6db6fc9bcdb9e2c428", + "rev": "b645b892b14d0f55be7636555044836ec57c6d06", "type": "github" }, "original": { @@ -759,11 +759,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1760958188, - "narHash": "sha256-2m1S4jl+GEDtlt2QqeHil8Ny456dcGSKJAM7q3j/BFU=", + "lastModified": 1762179181, + "narHash": "sha256-T4+TNfXlF/gHbcNCC2HY7sMGBKgqNzyYeMBWmcbH7/o=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "d6645c340ef7d821602fd2cd199e8d1eed10afbc", + "rev": "256770618502d2eda892af3ae91da5e386ce9586", "type": "github" }, "original": { @@ -821,11 +821,11 @@ }, "nixpkgs_11": { "locked": { - "lastModified": 1760524057, - "narHash": "sha256-EVAqOteLBFmd7pKkb0+FIUyzTF61VKi7YmvP1tw4nEw=", + "lastModified": 1761907660, + "narHash": "sha256-kJ8lIZsiPOmbkJypG+B5sReDXSD1KGu2VEPNqhRa/ew=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "544961dfcce86422ba200ed9a0b00dd4b1486ec5", + "rev": "2fb006b87f04c4d3bdf08cfdbc7fab9c13d94a15", "type": "github" }, "original": { @@ -901,11 +901,11 @@ }, "nixpkgs_6": { "locked": { - "lastModified": 1761114652, - "narHash": "sha256-f/QCJM/YhrV/lavyCVz8iU3rlZun6d+dAiC3H+CDle4=", + "lastModified": 1761907660, + "narHash": "sha256-kJ8lIZsiPOmbkJypG+B5sReDXSD1KGu2VEPNqhRa/ew=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "01f116e4df6a15f4ccdffb1bcd41096869fb385c", + "rev": "2fb006b87f04c4d3bdf08cfdbc7fab9c13d94a15", "type": "github" }, "original": { @@ -949,11 +949,11 @@ }, "nixpkgs_9": { "locked": { - "lastModified": 1761114652, - "narHash": "sha256-f/QCJM/YhrV/lavyCVz8iU3rlZun6d+dAiC3H+CDle4=", + "lastModified": 1761907660, + "narHash": "sha256-kJ8lIZsiPOmbkJypG+B5sReDXSD1KGu2VEPNqhRa/ew=", "owner": "nixos", "repo": "nixpkgs", - "rev": "01f116e4df6a15f4ccdffb1bcd41096869fb385c", + "rev": "2fb006b87f04c4d3bdf08cfdbc7fab9c13d94a15", "type": "github" }, "original": { @@ -1009,11 +1009,11 @@ "nixpkgs": "nixpkgs_9" }, "locked": { - "lastModified": 1761396527, - "narHash": "sha256-86jWYn1TEJ9q0zNXlp2DXDObhkwSO9zYYxLieWyoAJA=", + "lastModified": 1762180725, + "narHash": "sha256-Lrh11WTceP1e1AG7t2o8lNdvmiTijAZfkxD9gntpIjU=", "owner": "nix-community", "repo": "NUR", - "rev": "6906bd47fb1936409260a576f16513bec30f1e11", + "rev": "4ca815f76d28487bd3cca3de56a4777fab95525f", "type": "github" }, "original": { @@ -1127,11 +1127,11 @@ "systems": "systems_5" }, "locked": { - "lastModified": 1760848035, - "narHash": "sha256-H3MFH8+i4wFagkebtHPcosQdkmxQ4a6fl1lMbLb+RkA=", + "lastModified": 1762057664, + "narHash": "sha256-mdEEvepIi8ebpGP1WWOHNvNQyd8rF0mUrKAiU6mwHCk=", "owner": "Gerg-L", "repo": "spicetify-nix", - "rev": "cde9f78ae705343a38f5d1d19ab34858b5e9caa9", + "rev": "4aa6e43d29e3c8acf544aa6782a1963a11369208", "type": "github" }, "original": { diff --git a/hosts/imilia/default.nix b/hosts/imilia/default.nix index 9cd047f..1478b0e 100644 --- a/hosts/imilia/default.nix +++ b/hosts/imilia/default.nix @@ -19,11 +19,17 @@ environment = { systemPackages = with pkgs; [ fwupd - fw-ectool ]; etc.hosts.mode = "0700"; }; + swapDevices = [ + { + device = "/swapfile"; + size = 64 * 1024; + } + ]; + liv = { laptop.enable = true; desktop.enable = false; diff --git a/hosts/iris/default.nix b/hosts/iris/default.nix index 3dec566..238bc21 100644 --- a/hosts/iris/default.nix +++ b/hosts/iris/default.nix @@ -46,6 +46,13 @@ gui.enable = true; }; + # Enable ROCM support + hardware.amdgpu.opencl.enable = true; + + environment.systemPackages = with pkgs; [ + pkgs.davinci-resolve + ]; + boot = { kernelParams = [ ]; kernelModules = [ "acpi_call" ]; diff --git a/modules/core/program.nix b/modules/core/program.nix index a0acdd6..3acaa58 100644 --- a/modules/core/program.nix +++ b/modules/core/program.nix @@ -1,7 +1,6 @@ { pkgs, inputs, ... }: { programs = { - dconf.enable = true; zsh.enable = true; gnupg.agent = { enable = true; diff --git a/modules/home/hyprland/config.nix b/modules/home/hyprland/config.nix index 09d768b..2652a51 100644 --- a/modules/home/hyprland/config.nix +++ b/modules/home/hyprland/config.nix @@ -5,59 +5,6 @@ ... }: { - fonts.fontconfig.enable = true; - home.packages = [ - # pkgs.nerdfonts - # (pkgs.nerdfonts.override { fonts = [ "JetBrainsMono" ]; }) - pkgs.twemoji-color-font - pkgs.noto-fonts-emoji - pkgs.swww - pkgs.swaylock - pkgs.pywal16 - ]; - - gtk = { - enable = true; - font = { - name = "GohuFont 14 Nerd Font Mono"; - size = 14; - }; - theme = { - name = "Juno"; - package = pkgs.juno-theme; # .override { - # colorVariants = [ "dark" ]; - # themeVariants = [ "green" ]; - # tweakVariants = [ "macos" ]; - # }; - }; - iconTheme = { - name = "Papirus-Dark"; - package = pkgs.papirus-icon-theme.override { - color = "black"; - }; - }; - cursorTheme = { - name = "Bibata-Modern-Ice"; - package = pkgs.bibata-cursors; - size = 24; - }; - }; - - home.pointerCursor = { - name = "Bibata-Modern-Ice"; - package = pkgs.bibata-cursors; - size = 24; - }; - - dconf = { - enable = true; - settings = { - "org/gnome/desktop/interface" = { - color-scheme = "prefer-dark"; - }; - }; - }; - wayland.windowManager.hyprland = { settings = { @@ -102,16 +49,11 @@ }; }; - #gestures = { - # workspace_swipe = true; - # workspace_swipe_invert = true; - #}; - general = { "$mainMod" = "ALT"; layout = "dwindle"; - gaps_in = 5; - gaps_out = 10; + gaps_in = 0; + gaps_out = 0; border_size = 2; "col.active_border" = "rgb(ffffff) rgb(ffffff) 45deg"; "col.inactive_border" = "0x00000000"; diff --git a/modules/home/packages.nix b/modules/home/packages.nix index 1320e1f..d2e573b 100644 --- a/modules/home/packages.nix +++ b/modules/home/packages.nix @@ -7,7 +7,6 @@ }: { home.packages = with pkgs; [ - swayfx # Environment shit tesseract yubikey-touch-detector diff --git a/modules/home/sway/default.nix b/modules/home/sway/default.nix index a72c246..157ec74 100644 --- a/modules/home/sway/default.nix +++ b/modules/home/sway/default.nix @@ -1,21 +1,406 @@ -{ pkgs, username, ... }: +{ + pkgs, + host, + username, + lib, + ... +}: +let + dark = "#040606"; + black = "#241b2f"; + dim = "#495671"; + red = "#f53fa1"; + green = "#72f1b8"; + yellow = "#ffcc00"; + blue = "#2b196e"; + magenta = "#ff7edb"; # previously cda5ef + cyan = "#61e2ff"; + white = "#f8f8f8"; + bright = "#ffffff"; + transparent = "#ff000000"; + winterBlue = "#252535"; +in { home.packages = with pkgs; [ - swayfx autotiling libinput-gestures wmctrl + swaycons ]; - #home.file = { - # "/home/${username}/.config/libinput-gestures/sway.conf" = { - # executable = false; - # text = " - # # Cycle right through sway workspaces - # gesture: swipe right 3 swaymsg focus right - # # Cycle left through sway workspaces - # gesture: swipe left 3 swaymsg focus left - # "; - # }; - #}; + wayland.windowManager.sway = { + checkConfig = false; + package = pkgs.swayfx; + enable = true; + config = { + window.border = 4; + colors = { + focused = { + border = magenta; + background = "#536161"; + text = white; + indicator = yellow; + childBorder = "#536161"; + }; + unfocused = { + border = dark; + background = dark; + text = dim; + indicator = dark; + childBorder = winterBlue; + }; + focusedInactive = { + border = dark; + background = dark; + text = white; + indicator = dark; + childBorder = winterBlue; + }; + urgent = { + border = red; + background = red; + text = white; + indicator = red; + childBorder = red; + }; + placeholder = { + border = dark; + background = dark; + text = white; + indicator = white; + childBorder = dark; + }; + }; + fonts = { + names = [ + "GohuFont 11 Nerd Font Mono" + ]; + style = "Bold Semi-Condensed"; + size = 11.0; + }; + bars = [ ]; + input = { + "type:keyboard" = { + # "*" = { + xkb_options = "caps:ctrl_modifier"; + }; + }; + modifier = "Mod1"; + keybindings = lib.attrsets.mergeAttrsList [ + (lib.attrsets.mergeAttrsList ( + map + ( + num: + let + ws = toString num; + in + { + "Mod1+${ws}" = "workspace ${ws}"; + "Mod1+Ctrl+${ws}" = "move container to workspace ${ws}"; + } + ) + [ + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 0 + ] + )) + + (lib.attrsets.concatMapAttrs + (key: direction: { + "Mod1+${key}" = "focus parent, focus ${direction}, focus child"; + "Mod1+Ctrl+${key}" = "focus parent, move ${direction}, focus child"; + }) + { + h = "left"; + j = "down"; + k = "up"; + l = "right"; + } + ) + + { + + "Mod1+q" = "kill"; + "Mod1+w" = "layout split"; + "Mod1+f" = "fullscreen toggle"; + "Mod1+s" = "layout stacking"; + # "Mod1+v" = "split v"; + "Mod1+g" = "layout tabbed"; + "Mod1+Space" = "floating toggle"; + "Mod1+Shift+r" = "exec swaymsg reload"; + "Mod1+Tab" = "focus next"; + "Mod1+Shift+Tab" = "focus prev"; + "Mod4+n" = "focus next"; + "Mod4+p" = "focus prev"; + + "Mod1+d" = "exec --no-startup-id ${pkgs.bemenu}/bin/bemenu-run -l 5 --ignorecase"; + "Mod1+e" = "exec --no-startup-id thunar"; + "Mod1+c" = "exec --no-startup-id hyprpicker -a"; + "Mod1+n" = "exec --no-startup-id swaync-client -t"; + + "Mod1+Return" = "exec --no-startup-id ${pkgs.foot}/bin/footclient"; + "Mod1+Shift+Return" = "exec --no-startup-id ${pkgs.foot}/bin/footclient --title 'float_foot'"; + "Mod1+Shift+l" = "exec --no-startup-id ${pkgs.hyprlock}/bin/hyprlock"; + "Mod4+Shift+l" = "exec swaylock --image /home/${username}/.local/share/bg.png"; + "Mod1+Shift+b" = "exec pkill -SIGUSR1 .waybar-wrapped"; + "Mod1+Shift+v" = "exec cliphist list | bemenu -l 5 --ignorecase | cliphist decode | wl-copy"; + "Mod1+Shift+f" = "exec --no-startup-id librewolf"; + "Mod1+Shift+c" = "exec --no-startup-id chromium"; + "Mod1+Shift+q" = "exec --no-startup-id qutebrowser"; + "Mod1+Shift+w" = "exec --no-startup-id wdisplays"; + "Mod1+Shift+t" = "exec --no-startup-id thunderbird"; + "Mod1+Shift+e" = "exec --no-startup-id element-desktop"; + "Mod1+Shift+p" = "exec --no-startup-id pavucontrol-qt"; + "Mod1+Shift+n" = "exec --no-startup-id notes"; + + # screenshot + "Mod1+Shift+s" = "exec grim -g \"\$(slurp)\" -t png - | wl-copy -t image/png"; + # "Mod1+Shift+s" = "exec --no-startup-id grimblast copy area"; + "Mod1+Shift+g" = "exec --no-startup-id grabtext"; + + # media and volume controls + "XF86AudioRaiseVolume" = "exec pamixer -i 2"; + "XF86AudioLowerVolume" = "exec pamixer -d 2"; + "XF86AudioMute" = "exec pamixer -t"; + "XF86AudioPlay" = "exec playerctl play-pause"; + "XF86AudioNext" = "exec playerctl next"; + "XF86AudioPrev" = "exec playerctl previous"; + "XF86AudioStop" = "exec playerctl stop"; + + # laptop brigthness + "XF86MonBrightnessUp" = "exec brightnessctl set 5%+"; + "XF86MonBrightnessDown" = "exec brightnessctl set 5%-"; + "Mod1+XF86MonBrightnessUp" = "exec brightnessctl set 100%+"; + "Mod1+XF86MonBrightnessDown" = "exec brightnessctl set 100%-"; + } + ]; + focus.followMouse = true; + startup = [ + { command = "systemctl --user import-environment &"; } + { command = "hash dbus-update-activation-environment 2>/dev/null &"; } + { command = "dbus-update-activation-environment --systemd &"; } + { command = "wl-clip-persist --clipboard both"; } + { command = "swww-daemon &"; } + { command = "poweralertd &"; } + { command = "waybar &"; } + { command = "swaync &"; } + { command = "wl-paste --watch cliphist store &"; } + { command = "yubikey-touch-detector --libnotify &"; } + { command = "mpDris2 &"; } + { command = "swaycons &"; } + # { command = "wlsunset -S '06:30' -s '19:30' -d 1800 "; } + { command = "foot --server &"; } + { command = "footclient"; } + ]; + workspaceAutoBackAndForth = false; + }; + # systemd.enable = true; # ??? + wrapperFeatures = { + gtk = true; + }; + }; + + home.file.".hm-graphical-session".text = pkgs.lib.concatStringsSep "\n" [ + "export MOZ_ENABLE_WAYLAND=1" + "export NIXOS_OZONE_WL=1" # Electron + ]; + + services.kanshi = { + enable = true; + + profiles = { + laptops = { + outputs = + if (host == "sakura") then + [ + { + criteria = "eDP-1"; + scale = 1.0; + status = "enable"; + position = "0,0"; + } + ] + else if (host == "zinnia") then + [ + { + criteria = "eDP-1"; + scale = 1.0; + status = "enable"; + position = "0,0"; + } + ] + else if (host == "imilia") then + [ + { + criteria = "eDP-1"; + scale = 1.0; + status = "enable"; + position = "0,0"; + } + ] + else + [ + { + criteria = "eDP-1"; + scale = 1.0; + status = "enable"; + position = "0,0"; + } + ]; + }; + work = { + outputs = [ + { + criteria = "eDP-1"; + scale = 1.0; + status = "enable"; + position = "0,0"; + } + { + criteria = "HP Inc. HP E27q G5 CNC4190NG9"; + scale = 1.0; + status = "enable"; + position = "4816,0"; + } + { + criteria = "HP Inc. HP E27q G5 CNC4081M2B"; + scale = 1.0; + status = "enable"; + position = "2256,0"; + } + ]; + }; + }; + }; + + programs.sway-easyfocus = { + enable = true; + settings = { + chars = "asdfjkl"; + focused_background_color = "285577"; + focused_background_opacity = 1.0; + focused_text_color = "ffffff"; + font_family = "GohuFont 14 Nerd Font Mono"; + font_size = "14"; + window_background_color = "d1f21"; + window_background_opacity = 0.2; + }; + }; + + home.file."/home/${username}/.config/swaycons/config.toml".text = '' + [global] + color = "#FFFFFF" + focused_color = "#FFFFFF" + icon = "󰖯" + size = "14pt" + separator = " " + + [app_id] + "dev.alextren.Spot" = { icon = "󰓇", color = "#1ed760" } + "org.daa.NeovimGtk" = { icon = "", color = "#8fff6d" } + "org.gnome.Calculator" = { icon = "󰃬" } + "org.gnome.clocks" = { icon = "󱑈" } + "org.gnome.Nautilus" = { icon = "󰉖", color = "#6291d6" } + "im.dino.Dino" = { icon = "󰭹", color = "#3777f0" } + spt = { icon = "󰋋", color = "#ef5466" } + rmpc = { icon = "󰋋", color = "#ef5466" } + Signal = { icon = "󰭹", color = "#3777f0" } + Element = { icon = "󰭹", color = "#3777f0" } + Spotify = { icon = "󰓇", color = "#1ed760" } + chromium = { icon = "", color = "#a1c2fa", size = "13pt" } + librewolf = { icon = "", color = "#ff8817", size = "13pt" } + foot = { icon = "" } + thunderbird = { icon = "", color = "#f6d32d" } + neovide = { icon = "", color = "#8fff6d" } + nvim-qt = { icon = "", color = "#8fff6d" } + libreoffice-writer = { icon = "", color = "#00A500", size = "12pt" } + libreoffice-calc = { icon = "󰱿", color = "#00A500" } + + [title] + "(?i)Thunar" = { icon = "󰉖", color = "#6291d6" } + "(?i)vim" = { app_id = ["foot", "Alacritty"], icon = "", color = "#8fff6d" } + "(cloud|developers)\\.google.com" = { icon = "", color = "#4285f4" } + "192\\.168\\.0\\.1|192\\.168\\.86\\.1|ui\\.com" = { icon = "󰖩", color = "#004cb6" } + "1password\\.com" = { icon = "󰍁", color = "#0572ec" } + "amazon\\.com" = { icon = "", color = "#ff9900" } + "angular\\.io" = { icon = "", color = "#dd0031" } + "archlinux\\.org" = { icon = "", color = "#1793d1" } + "atlassian\\.(net|com)" = { icon = "󰌃", color = "#0052cc" } + "aws\\.amazon\\.com" = { icon = "", color = "#ff9900" } + "bitbucket\\.org" = { icon = "󰂨", color = "#0052cc" } + "calendar\\.google\\.com" = { icon = "󰃶", color = "#4285f4" } + "coda\\.io" = { icon = "", color = "#f46a54" } + "crates\\.io" = { icon = "󰏗", color = "#ffc933" } + "deezer\\.com" = { icon = "󰋋", color = "#ef5466" } + "discogs\\.com" = { icon = "󰀥" } + "discord\\.com" = { icon = "󰙯", color = "#404eed" } + "docs\\.google\\.com" = { icon = "", color = "#4285f4" } + "docs\\.google\\.com/spreadsheets" = { icon = "󰈛", color = "#34a853" } + "docs\\.rs|rust-lang\\.org" = { icon = "", size = "16pt" } + "drive\\.google\\.com" = { icon = "󰊶", color = "#4285f4" } + "dropbox\\.com" = { icon = "󰇣", color = "#0061fe" } + "duckduckgo\\.com" = { icon = "󰇥", color = "#de5833" } + "facebook\\.com" = { icon = "", color = "#1877f2" } + "fastmail\\.com" = { icon = "󰗰", color = "#1565c0" } + "fastmail\\.com/calendar" = { icon = "", color = "#1565c0" } + "fastmail\\.com/contacts" = { size = "11pt", icon = "", color = "#1565c0" } + "feedbin\\.com" = { icon = "" } + "gitbook\\.com" = { icon = "", color = "#346ddb" } + "github\\.com" = { icon = "" } + "google\\.com" = { icon = "", color = "#4285f4" } + "google\\.com/maps" = { icon = "󰗵", color = "#4caf50" } + "insomnia\\.rest" = { icon = "", color = "#7100df" } + "keep\\.google\\.com" = { icon = "󰛜", color = "#fbbc04" } + "last\\.fm" = { icon = "", color = "#ba0000" } + "mail\\.google\\.com" = { icon = "󰊫", color = "#ad1f1c" } + "meet\\.google\\.com" = { icon = "", color = "#4285f4" } + "messages\\.google\\.com" = { icon = "󰍩", color = "#4285f4" } + "mozilla\\.org" = { icon = "" } + "nerdfonts\\.com" = { icon = "", color = "#ffce3e" } + "nytimes\\.com/games/wordle" = { icon = "󰈭", color = "#538d4e" } + "photos\\.google\\.com" = { icon = "󰄄", color = "#4285f4" } + "reactjs\\.org" = { icon = "", color = "#61dafb" } + "reddit\\.com" = { icon = "󰑍", color = "#ff4500" } + "slack\\.com" = { icon = "󰒱", color = "#2eb67d" } + "sleeper\\.com" = { icon = "󰉟", color = "#7c8ef4" } + "spotify\\.com" = { icon = "󰓇", color = "#1ed760" } + "sr\\.ht|sourcehut\\.org" = { icon = "" } + "stackoverflow\\.com" = { icon = "", color = "#f48225" } + "startpage\\.com" = { icon = "", color = "#6573ff" } + "stripe\\.com" = { icon = "", color = "#635bff" } + "ticktick\\.com" = { icon = "󰄴", color = "#4774f9" } + "todoist\\.com" = { icon = "󰄲", color = "#e44232" } + "travis-ci\\.(com|org)" = { icon = "", color = "#cd324a" } + "twitter\\.com" = { icon = "", color = "#1d9bf0" } + "webpack\\.js\\.org" = { icon = "󰆧", color = "#8ed6fb" } + "wikipedia\\.org" = { icon = "" } + "youneedabudget\\.com" = { icon = "", color = "#4495d7" } + "bandcamp\\.com" = { icon = "", color = "#1da0c3", size = "13pt" } + "zoom\\.us" = { icon = "󰕧", color = "#2d8cff" } + aerc = { app_id = ["foot", "Alacritty"], icon = "󰇰" } + litecli = { app_id = ["foot", "Alacritty"], icon = "󰆼", color = "#c74451" } + nnn = { app_id = ["foot", "Alacritty"], icon = "󰉖" } + pgcli = { app_id = ["foot", "Alacritty"], icon = "󰆼", color = "#c74451" } + ''; } + +#home.file = { +# "/home/${username}/.config/libinput-gestures/sway.conf" = { +# executable = false; +# text = " +# # Cycle right through sway workspaces +# gesture: swipe right 3 swaymsg focus right + +# # Cycle left through sway workspaces +# gesture: swipe left 3 swaymsg focus left +# "; +# }; +#}; diff --git a/modules/home/waybar/default.nix b/modules/home/waybar/default.nix index 9b7562b..076a386 100644 --- a/modules/home/waybar/default.nix +++ b/modules/home/waybar/default.nix @@ -29,13 +29,15 @@ "modules-left": [ "privacy", "network", + "custom/music", "custom/vpn", "custom/devices", - "custom/spotify", + "sway/mode", "tray", ], "modules-center": [ + "sway/workspaces", "hyprland/workspaces", ], @@ -104,7 +106,7 @@ "interval": 30 }, - "custom/spotify": { + "custom/music": { "interval": 5, "return-type": "json", "exec": "~/.local/bin/waybar-music", @@ -293,7 +295,7 @@ }, "battery": { - "bat": "BAT1", + "bat": "BAT0", "interval": 20, "states": { "warning": 20, @@ -501,7 +503,7 @@ background: #f9409d; } - #custom-spotify { + #custom-music { color: #ffffff; padding-right: 5px; } diff --git a/modules/home/waybar/scripts.nix b/modules/home/waybar/scripts.nix index 3c9b2e3..4932a4d 100644 --- a/modules/home/waybar/scripts.nix +++ b/modules/home/waybar/scripts.nix @@ -158,7 +158,7 @@ #!/usr/bin/env sh META="{{ trunc(artist,17) }} - {{ trunc(title,17) }}" - PLAYERS="spotify ncspot mpv mpd" + PLAYERS="spotify ncspot mpv mpd spotify_player" for PLAYER in $PLAYERS; do # if the player is not playing, continue to the next player, until we find one that is playing diff --git a/modules/home/zsh.nix b/modules/home/zsh.nix index fa1f4b6..f5f3c89 100644 --- a/modules/home/zsh.nix +++ b/modules/home/zsh.nix @@ -32,7 +32,7 @@ localVariables = { # Looks like this: '~/some/path > ' - PS1 = "> %F{magenta}%~%f < "; + PS1 = "> %F{magenta}%~%f > "; RPROMPT = "%F{magenta}%m"; # Gets pushed to the home directory otherwise LESSHISTFILE = "/dev/null"; diff --git a/modules/services/email.nix b/modules/services/email.nix index 5876fa9..a3723a8 100644 --- a/modules/services/email.nix +++ b/modules/services/email.nix @@ -1,14 +1,21 @@ { pkgs, config, + username, ... }: { + environment.systemPackages = [ pkgs.mailutils ]; programs.msmtp = { enable = true; - accounts.default = { - auth = true; - tls = true; + defaults = { + auth = "on"; + tls = "on"; + logfile = "/var/log/msmtpd.log"; + }; + + accounts.${username} = { + tls_starttls = "off"; port = 465; host = "smtp.migadu.com"; from = config.liv.variables.senderEmail; diff --git a/roles/gui.nix b/roles/gui.nix index 234d6da..2c5b4fc 100644 --- a/roles/gui.nix +++ b/roles/gui.nix @@ -24,39 +24,88 @@ in gnome.gnome-keyring.enable = true; dbus.enable = true; }; + home-manager.users.${username} = { + fonts.fontconfig.enable = true; + gtk = { + enable = true; + font = { + name = "GohuFont 14 Nerd Font Mono"; + size = 14; + }; + theme = { + name = "Juno"; + package = pkgs.juno-theme; # .override { + # colorVariants = [ "dark" ]; + # themeVariants = [ "green" ]; + # tweakVariants = [ "macos" ]; + # }; + }; + iconTheme = { + name = "Papirus-Dark"; + package = pkgs.papirus-icon-theme.override { + color = "black"; + }; + }; + cursorTheme = { + name = "Bibata-Modern-Ice"; + package = pkgs.bibata-cursors; + size = 24; + }; + }; - home-manager.users.${username}.home.packages = with pkgs; [ - element-desktop - dino - signal-desktop - mumble - anki-bin - obs-studio - wdisplays - librewolf # main - ungoogled-chromium # for things that don't work with librewolf - nsxiv - imv - libreoffice - xfce.thunar - # spotify - spotify-player - thunderbird - lxqt.pavucontrol-qt - mpv - kdePackages.kdeconnect-kde - winbox - # onthespot-overlay + home.pointerCursor = { + name = "Bibata-Modern-Ice"; + package = pkgs.bibata-cursors; + size = 24; + }; - # Gaming - lunar-client + dconf = { + enable = true; + settings = { + "org/gnome/desktop/interface" = { + color-scheme = "prefer-dark"; + }; + }; + }; + home.packages = with pkgs; [ + element-desktop + dino + signal-desktop + mumble + anki-bin + obs-studio + wdisplays + librewolf # main + ungoogled-chromium # for things that don't work with librewolf + nsxiv + imv + libreoffice + xfce.thunar + # spotify + spotify-player + thunderbird + lxqt.pavucontrol-qt + mpv + kdePackages.kdeconnect-kde + winbox + # onthespot-overlay - # Not GUI but specific to GUI usage - sshuttle - sshfs + # Gaming + lunar-client - # try out for a bit - niri - ]; + # Not GUI but specific to GUI usage + sshuttle + sshfs + + # previously in hyprland config + # pkgs.nerdfonts + # (pkgs.nerdfonts.override { fonts = [ "JetBrainsMono" ]; }) + pkgs.twemoji-color-font + pkgs.noto-fonts-color-emoji + pkgs.swww + pkgs.swaylock + pkgs.pywal16 + ]; + }; }; } diff --git a/roles/nvidia.nix b/roles/nvidia.nix index ac2bfea..25033d6 100644 --- a/roles/nvidia.nix +++ b/roles/nvidia.nix @@ -20,7 +20,7 @@ in modesetting.enable = true; powerManagement.enable = false; powerManagement.finegrained = false; - open = false; + open = if (config.liv.gui.enable == true) then true else false; nvidiaSettings = true; package = config.boot.kernelPackages.nvidiaPackages.stable; };