diff --git a/flake.lock b/flake.lock index 0d6b375..965b42f 100644 --- a/flake.lock +++ b/flake.lock @@ -718,3 +718,4 @@ "root": "root", "version": 7 } + diff --git a/home/profiles/nixdesk/default.nix b/home/profiles/nixdesk/default.nix index b90d252..92bd2c0 100644 --- a/home/profiles/nixdesk/default.nix +++ b/home/profiles/nixdesk/default.nix @@ -2,11 +2,13 @@ imports = [ ./kanshi.nix ../../terminal + ../../terminal/programs/zellij.nix ../../editors/nvim.nix ../../editors/emacs.nix ../../editors/vscode.nix ../../programs/browsers/firefox.nix ../../terminal/emulator/wezterm.nix + ../../terminal/emulator/foot.nix # desktop ../../programs/desktop diff --git a/home/programs/desktop/default.nix b/home/programs/desktop/default.nix index 3fc4d83..bb98bf9 100644 --- a/home/programs/desktop/default.nix +++ b/home/programs/desktop/default.nix @@ -10,12 +10,12 @@ gtk = { enable = true; theme = { - package = pkgs.flat-remix-gtk; - name = "Flat-Remix-GTK-Grey-Darkest"; + package = pkgs.gnome.gnome-themes-extra; + name = "Adwaita-dark"; }; iconTheme = { package = pkgs.gnome.adwaita-icon-theme; - name = "Adwaita"; + name = "Adwaita-dark"; }; font = { name = "Sans"; @@ -27,7 +27,7 @@ enable = true; platformTheme = "gtk3"; style = { - name = "adwaita-dark"; + name = "Adwaita-dark"; package = pkgs.adwaita-qt; }; }; diff --git a/home/programs/desktop/hyprland/default.nix b/home/programs/desktop/hyprland/default.nix index 651cfcd..6b302e2 100644 --- a/home/programs/desktop/hyprland/default.nix +++ b/home/programs/desktop/hyprland/default.nix @@ -5,6 +5,86 @@ config, ... }: { + home.packages = with pkgs; [ + wl-clipboard + ]; + + services.cliphist = { + enable = true; + systemdTarget = "hyprland-session.target"; + }; + #systemd.user.services.cliphist = { + # Unit = { + # Description = "Wayland clipboard manager"; + # PartOf = ["hyprland-session.target"]; + # After = ["hyprland-session.target"]; + # }; + + # Service = { + # ExecStartPre = "${pkgs.wl-clipboard}/wl-paste --type text --watch ${lib.getExe pkgs.cliphist} store #Stores only text data"; + # ExecStart = "${pkgs.wl-clipboard}/wl-paste --type image --watch ${lib.getExe pkgs.cliphist} store #Stores only image data"; + # ExecReload = "${pkgs.coreutils}/bin/kill -SIGUSR2 $MAINPID"; + # Restart = "on-failure"; + # }; + + # Install = { + # WantedBy = ["hyprland-session.target"]; + # }; + #}; + + programs.waybar = { + enable = true; + settings = [ + { + "height" = 30; + "spacing" = 4; + "modules-left" = [ + "hyprland/workspaces" + #"hyprland/mode" + #"hyprland/scratchpad" + ]; + "modules-center" = [ + "hyprland/window" + ]; + "modules-right" = [ + "pulseaudio" + "clock" + "tray" + ]; + + "tray" = { + "spacing" = 10; + }; + "clock" = { + "tooltim-format" = "{:%Y %B}\n{calendar}"; + "format-alt" = "{:%Y-%m-%d}"; + }; + "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" = "${lib.getExe pkgs.pavucontrol}"; + }; + } + ]; + systemd = { + enable = true; + target = "hyprland-session.target"; + }; + }; + wayland.windowManager.hyprland = { enable = true; settings = { @@ -37,6 +117,7 @@ "$mainMod, M, fullscreen, 1" "$mainMod SHIFT, F, fakefullscreen" "$mainMod, P, exec, ${pkgs.bemenu}/bin/bemenu-run" + "$mainMod, V, exec, ${lib.getExe pkgs.cliphist} list | ${lib.getExe pkgs.wofi} --dmenu | ${lib.getExe pkgs.cliphist} decode | ${pkgs.wl-clipboard}/bin/wl-copy" "$mainMod SHIFT, E, exec, ${lib.getExe pkgs.wlogout}" # focus with vim keys diff --git a/home/terminal/emulator/foot.nix b/home/terminal/emulator/foot.nix new file mode 100644 index 0000000..9d3252a --- /dev/null +++ b/home/terminal/emulator/foot.nix @@ -0,0 +1,15 @@ +{ + pkgs, + lib, + ... +}: { + programs.foot = { + enable = true; + settings = { + main = { + include = "${pkgs.foot.themes}/share/foot/themes/moonfly"; + font = "monospace:size=9"; + }; + }; + }; +} diff --git a/home/terminal/programs/zellij.nix b/home/terminal/programs/zellij.nix new file mode 100644 index 0000000..6ed1b6b --- /dev/null +++ b/home/terminal/programs/zellij.nix @@ -0,0 +1,5 @@ +{ + programs.zellij = { + enable = true; + }; +}