diff --git a/assets/wallpapers/God-Emacs.webp b/assets/wallpapers/God-Emacs.webp new file mode 100644 index 0000000..ac153b9 Binary files /dev/null and b/assets/wallpapers/God-Emacs.webp differ diff --git a/flake.nix b/flake.nix index 88c3106..9624a1f 100644 --- a/flake.nix +++ b/flake.nix @@ -8,7 +8,6 @@ ]; imports = [ inputs.treefmt-nix.flakeModule - # inputs.flake-parts.flakeModules.easyOverlay # #./flake/pre-commit ./parts/shell.nix ./parts/fmt.nix diff --git a/hosts/vali/hermit/programs.nix b/hosts/vali/hermit/programs.nix index a988940..764ff13 100644 --- a/hosts/vali/hermit/programs.nix +++ b/hosts/vali/hermit/programs.nix @@ -39,10 +39,8 @@ in { #gadacz gcc gdb - gnome.nautilus gnumake grc - grimblast git helvum hmm @@ -52,7 +50,6 @@ in { impala imv inetutils - jetbrains.idea-community-bin jrnl keepassxc lazygit @@ -61,7 +58,6 @@ in { mapscii mars-mips moc - musikcube ncmpcpp neofetch networkmanagerapplet @@ -86,6 +82,7 @@ in { python3 qbittorrent ripgrep + rnote rustdesk scc scummvm diff --git a/hosts/vali/temperance/configuration.nix b/hosts/vali/temperance/configuration.nix index 875a477..7154015 100644 --- a/hosts/vali/temperance/configuration.nix +++ b/hosts/vali/temperance/configuration.nix @@ -102,6 +102,7 @@ newsboat.enable = true; fish.enable = true; nh.enable = true; + steam.enable = true; waybar.enable = true; }; services = { @@ -109,7 +110,7 @@ }; theming = { quickshell.enable = true; - gtk.enable = false; + gtk.enable = true; qt = { enable = false; package = pkgs.kde-gruvbox; diff --git a/hosts/vali/temperance/programs.nix b/hosts/vali/temperance/programs.nix index 2c3c320..89a5d17 100644 --- a/hosts/vali/temperance/programs.nix +++ b/hosts/vali/temperance/programs.nix @@ -27,11 +27,9 @@ in { evince eza fastfetch - feh ffmpeg-full fftw fzf - grimblast gcc gdb gnumake @@ -41,11 +39,9 @@ in { gthumb git helvum - hmm heroic httpie - i3lock - imagemagick + imagemagickBig img2pdf impala imv @@ -86,13 +82,13 @@ in { python3 qbittorrent ripgrep + rnote scc scummvm sherlock shotwell signal-desktop-beta smartmontools - steam strawberry teamspeak_client telegram-desktop @@ -113,8 +109,6 @@ in { ventoy-full vlc vscodium - weechat - wezterm wget wine winetricks diff --git a/modules/cli/fish.nix b/modules/cli/fish.nix index 8c5e139..db1d6e6 100644 --- a/modules/cli/fish.nix +++ b/modules/cli/fish.nix @@ -29,7 +29,6 @@ in { }; home-manager.users.${username} = { - home.packages = with pkgs; [nix-output-monitor]; programs = { zoxide.enable = true; zoxide.enableFishIntegration = true; @@ -45,10 +44,10 @@ in { name = "done"; inherit (pkgs.fishPlugins.done) src; } - # { - # name = "tide"; - # inherit (pkgs.fishPlugins.tide) src; - # } + { + name = "puffer"; + inherit (pkgs.fishPlugins.puffer) src; + } ]; shellAbbrs = { @@ -62,13 +61,10 @@ in { kys = "shutdown now"; lg = "lazygit"; cd = "z"; - "..." = "cd ../.."; v = "nvim"; h = "hx"; k = "kak"; e = "emacs"; - update = ''nh os switch "${gitPath}"''; - flake = "cd '${gitPath}'"; } // cfg.extraAliases; }; diff --git a/modules/editors/nvf/mappings/normal.nix b/modules/editors/nvf/mappings/normal.nix index 2aadda3..66c1d5d 100644 --- a/modules/editors/nvf/mappings/normal.nix +++ b/modules/editors/nvf/mappings/normal.nix @@ -1,7 +1,7 @@ { programs.neovim-flake.settings.vim.maps = { normal = { - "gg".action = "LazyGit"; + # "gg".action = "LazyGit"; # General "fd".action = "lua vim.g.formatsave = not vim.g.formatsave"; "zt".action = ":let g:default_terminal = v:count1"; diff --git a/modules/gui/spicetify.nix b/modules/gui/spicetify.nix index 402ab41..b7b9120 100644 --- a/modules/gui/spicetify.nix +++ b/modules/gui/spicetify.nix @@ -17,12 +17,12 @@ in { enable = true; spotifyPackage = pkgs.spotify; #theme = spicePkgs.themes.Onepunch; - colorScheme = "mocha"; + #colorScheme = "mocha"; enabledExtensions = with spicePkgs.extensions; [ - shuffle + #shuffle adblock - genre - playlistIcons + #genre + #playlistIcons ]; }; }; diff --git a/modules/gui/steam.nix b/modules/gui/steam.nix index 130c961..9850828 100644 --- a/modules/gui/steam.nix +++ b/modules/gui/steam.nix @@ -1,6 +1,7 @@ { config, lib, + pkgs, ... }: with lib; let diff --git a/modules/wms/wayland/hypr/land.nix b/modules/wms/wayland/hypr/land.nix index e8751c7..78196c9 100644 --- a/modules/wms/wayland/hypr/land.nix +++ b/modules/wms/wayland/hypr/land.nix @@ -20,6 +20,11 @@ ; in { config = lib.mkIf cfg.enable { + programs.hyprland = { + enable = true; + inherit (cfg) package; + portalPackage = inputs'.hyprland.packages.xdg-desktop-portal-hyprland; + }; # xdg Portal xdg.portal = { enable = true; @@ -30,16 +35,21 @@ in { pkgs.xdg-desktop-portal-gtk inputs'.hyprland.packages.xdg-desktop-portal-hyprland ]; + config = { + common.default = ["hyprland"]; + }; #config.common.default = "hyprland"; }; home-manager.users.${username} = { wayland.windowManager.hyprland = { enable = true; inherit (cfg) package; + # Split-monitor-workspaces provides awesome-like workspace behaviour plugins = [ split-monitor-workspaces ]; + # Xwayland for X applications xwayland.enable = true; # No idea why I set this @@ -122,21 +132,25 @@ in { kb_rules = ""; follow_mouse = true; + repeat_rate = 50; repeat_delay = 250; + touchpad = { disable_while_typing = true; }; }; general = { sensitivity = 1.0; - gaps_in = 0; - gaps_out = 0; + gaps_in = 5; + gaps_out = 2; border_size = 2; + + no_border_on_floating = true; }; #Decoration settings decoration = { - rounding = 0; + rounding = 10; blur = { enabled = true; size = 3; @@ -169,8 +183,6 @@ in { }; dwindle = {no_gaps_when_only = true;}; - debug.disable_logs = false; - cursor = { hide_on_key_press = true; no_hardware_cursors = true; @@ -201,7 +213,7 @@ in { ]; # Keybinds bind = [ - "$mainMod, RETURN, exec, ${foot}/bin/foot -D ~" + "$mainMod, RETURN, exec, ${foot}/bin/foot" "$mainMod, Q, killactive" "$mainMod, F, fullscreen, 0" "$mainMod, D, exec, ${pkgs.procps}/bin/pkill anyrun || ${anyrun}/bin/anyrun" @@ -264,6 +276,7 @@ in { # File manager "$mainMod, E, exec, ${pkgs.xfce.thunar}/bin/thunar" + # Toggle the four different special workspaces. "$mainMod, B, togglespecialworkspace, btop" "$mainMod, V, togglespecialworkspace, pipewire" @@ -272,9 +285,11 @@ in { # Reload hyprland "$mainMod, R, exec, ${cfg.package}/bin/hyprctl reload" + # Restart waybar "$mainMod CONTROL, B, exec, ${pkgs.procps}/bin/pkill waybar || ${pkgs.waybar}/bin/waybar" ]; + binde = [ # window focus "$mainMod, H, movefocus, l" @@ -282,6 +297,7 @@ in { "$mainMod, K, movefocus, u" "$mainMod, L, movefocus, r" ]; + # Media controls bindl = let play-pause = "${pkgs.playerctl}/bin/playerctl play-pause"; @@ -311,6 +327,7 @@ in { "$mainMod, mouse:272, movewindow" "$mainMod, mouse:273, resizewindow" ]; + # Some more movement-related settings binds = { pass_mouse_when_bound = false; @@ -319,16 +336,16 @@ in { # Programs which get executed at Hyprland start. exec-once = [ #start waybar - # "${waybar}/bin/waybar" + "${pkgs.waybar}/bin/waybar" # run persistent special workspace windows - "[workspace special:nixos; silent;tile] ${foot}/bin/foot -D ~/projects/nichts nvim" + "[workspace special:nixos; silent;tile] ${foot}/bin/foot -D ~/projects/nichts nix develop" "[workspace special:keepassxc; silent;tile] ${pkgs.keepassxc}/bin/keepassxc" "${swww}/bin/swww-daemon" + "${wlsunset}/bin/wlsunset -S 06:00 -s 20:00" - "${pkgs.waybar}/bin/waybar" ]; exec = [ @@ -336,7 +353,7 @@ in { "${pkgs.procps}/bin/pkill btop" "${pkgs.procps}/bin/pkill pavucontrol" # and run it all again - "[workspace special:btop;silent;tile] ${foot}/bin/foot ${pkgs.btop}/bin/btop" + "[workspace special:btop silent;tile] ${foot}/bin/foot -e ${pkgs.btop}/bin/btop" # "[workspace special:pipewire silent;tile] ${pkgs.helvum}/bin/helvum" "[workspace special:pipewire;silent;tile] ${pkgs.pavucontrol}/bin/pavucontrol" @@ -345,6 +362,5 @@ in { }; }; }; - environment.systemPackages = with pkgs; [libnotify]; }; } diff --git a/modules/wms/wayland/hypr/lock.nix b/modules/wms/wayland/hypr/lock.nix index e69de29..a6c3e8f 100644 --- a/modules/wms/wayland/hypr/lock.nix +++ b/modules/wms/wayland/hypr/lock.nix @@ -0,0 +1,96 @@ +{ + config, + inputs, + inputs', + lib, + pkgs, + ... +}: let + cfg = config.myOptions.programs.hypr.lock; + inherit (config.myOptions.other.system) username; + + inherit (lib) mkEnableOption mkIf mkOption; + inherit (lib.types) attrs; + + text_color = "rgba(eae0e4FF)"; +in { + options.myOptions.programs.hypr.lock = { + enable = mkEnableOption "hiper zamek"; + extraSettings = mkOption { + type = attrs; + description = "extra per host hyprlock settings"; + default = {}; + }; + }; + + config = mkIf cfg.enable { + home-manager.users.${username} = { + imports = [inputs.hyprlock.homeManagerModules.default]; + + programs.hyprlock = { + enable = true; + package = inputs'.hyprlock.packages.hyprlock; + general = { + grace = 2; + }; + backgrounds = [ + { + color = "rgba(120f1177)"; + path = "screenshot"; + blur_size = 5; + blur_passes = 4; + } + ]; + + input-fields = [ + { + size = { + width = 600; + height = 50; + }; + outline_thickness = 3; + dots_size = 0.1; + dots_spacing = 0.3; + outer_color = "rgba(9a8d9555)"; + inner_color = "rgba(120f1111)"; + font_color = "rgba(d1c2cbff)"; + fade_on_empty = true; + position = { + x = 0; + y = 20; + }; + halign = "center"; + valign = "center"; + } + ]; + + labels = [ + { + # clock + text = "$TIME"; + color = text_color; + font_size = 65; + position = { + x = 0; + y = 300; + }; + halign = "center"; + valign = "center"; + } + { + # battery + text = "cmd[update:1000] echo \"$(cat /sys/class/power_supply/BAT0/capacity)%\""; + color = text_color; + font_size = 30; + position = { + x = 0; + y = 200; + }; + halign = "center"; + valign = "center"; + } + ]; + }; + }; + }; +} diff --git a/modules/wms/wayland/variables.nix b/modules/wms/wayland/variables.nix index 38550e8..d35618b 100644 --- a/modules/wms/wayland/variables.nix +++ b/modules/wms/wayland/variables.nix @@ -4,43 +4,37 @@ ... }: let cfg = config.modules.wms.wayland; - hyprland = config.modules.wms.wayland.hyprland; + inherit (lib) mkIf mkEnableOption; in { - options.modules.wms.wayland.enable = lib.mkEnableOption "wayland"; - # options.modules.wms.wayland.hyprland.enable = mkEnableOption "hyprland"; - config = lib.mkIf cfg.enable { - # lib.mkMerge [ - # { + options.modules.wms.wayland.enable = mkEnableOption "wayland"; + config = mkIf cfg.enable { environment.variables = { NIXOS_OZONE_WL = "1"; __GL_GSYNC_ALLOWED = "0"; __GL_VRR_ALLOWED = "0"; - DISABLE_QT5_COMPAT = "0"; + GDK_BACKEND = "wayland"; - ANKI_WAYLAND = "1"; - #WLR_DRM_NO_ATOMIC = "1"; - #QT_AUTO_SCREEN_SCALE_FACTOR = "1"; QT_QPA_PLATFORM = "wayland"; - DISABLE_QT_COMPAT = "0"; - #QT_WAYLAND_DISABLE_WINDOWDECORATION = "1"; + MOZ_ENABLE_WAYLAND = "1"; - XDG_SESSION_TYPE = "wayland"; + SDL_VIDEODRIVER = "wayland"; + CLUTTER_BACKEND = "wayland"; - # Session variables for Hyprland - # (lib.mkIf (hyprland.enable) { - # environment.variables = { + LIBVA_DRIVER_NAME = "nvidia"; GTK_USE_PORTAL = "1"; + NIXOS_XDG_OPEN_USE_PORTAL = "1"; + XDG_CURRENT_DESKTOP = "Hyprland"; XDG_SESSION_DESKTOP = "Hyprland"; + XDG_SESSION_TYPE = "wayland"; + ELECTRON_OZONE_PLATFORM_HINT = "auto"; WLR_RENDERER_ALLOW_SOFTWARE = "1"; - # Needed anymore? + LIBSEAT_BACKEND = "logind"; }; - # }) - # ]; }; }