diff --git a/home/default.nix b/home/default.nix index eb72c9c..ca85046 100644 --- a/home/default.nix +++ b/home/default.nix @@ -24,6 +24,12 @@ in { # flake = "/etc/nixos/config#laptop" }; + programs.direnv = { + enable = true; + nix-direnv.enable = true; + enableZshIntegration = true; + }; + xdg.systemDirs.data = ["${pkgs.nordvpn}/share"]; gtk = { @@ -54,10 +60,13 @@ in { homeDirectory = "/home/${user.username}"; username = user.username; + shell.enableZshIntegration = true; + sessionVariables = { EDITOR = "nvim"; VISUAL = "nvim"; GTK_THEME = "Breeze-Dark"; + NIXOS_OZONE_WL = "1"; }; pointerCursor = { @@ -81,7 +90,11 @@ in { htop pavucontrol ripgrep + killall vanilla-dmz + (discord.override {withVencord = true;}) + bitwarden-desktop + bitwarden-cli # file manager nemo-with-extensions diff --git a/home/emacs.nix b/home/emacs.nix index 852d807..9623326 100644 --- a/home/emacs.nix +++ b/home/emacs.nix @@ -4,7 +4,7 @@ let emacs-config = builtins.fetchGit { url = "git@git.nirgendwo.xyz:janis/dot-emacs.git"; ref = "main"; - rev = "39d889549f2b0b5c5392852daa862437e080a710"; + rev = "41f5c3340a0232ea1c0e0bb44b0609b2956c3fe9"; }; in { # TODO: turn this into a FHS or package so these dependencies don't have to be @@ -35,16 +35,17 @@ in { tree-sitter-zig tree-sitter-elisp tree-sitter-markdown - pkgs.tree-sitter-slang + # tree-sitter-slang ])) # spelling - (hunspellWithDicts [ - hunspellDicts.en-gb-ise - hunspellDicts.en-gb-large - hunspellDicts.de-de - hunspellDicts.da-dk - ]) + # Note: don't use `hunspellWithDicts` here, because enchant will not be able + # to see the dictionaries unless they are by themselves. + hunspell + # hunspellDicts.en-gb-ise + hunspellDicts.en-gb-large # contains both ise and ize spellings + hunspellDicts.de-de + hunspellDicts.da-dk # language servers pkgs.unstable.rust-analyzer @@ -56,7 +57,31 @@ in { # }; # }; programs.emacs = { - enable = true; - package = pkgs.emacs-git-pgtk; + enable = true; + package = pkgs.emacs-git-pgtk; + extraPackages = (epkgs: with epkgs; [ + jinx + ]); + # pkgs.nixd + # (treesit-grammars.with-grammars (grammars: with grammars; [ + # tree-sitter-bash + # tree-sitter-nix + # tree-sitter-toml + # tree-sitter-elisp + # tree-sitter-rust + # tree-sitter-cpp + # tree-sitter-c + # tree-sitter-zig + # tree-sitter-elisp + # tree-sitter-markdown + # ])) + # (with pkgs; + # (hunspellWithDicts [ + # hunspellDicts.en-gb-ise + # hunspellDicts.en-gb-large + # hunspellDicts.de-de + # hunspellDicts.da-dk + # ])) + # ]); }; } diff --git a/home/firefox.nix b/home/firefox.nix index a6a8952..e516b91 100644 --- a/home/firefox.nix +++ b/home/firefox.nix @@ -38,9 +38,15 @@ in{ "browser.startup.page" = 3; # resume previous session "browser.startup.homepage" = "about:home"; "browser.toolbars.bookmarks.visibility" = "never"; + "sidebar.verticalTabs" = true; + "browser.uiCustomization.horizontalTabstrip" = [ + "firefox-view-button" + "tabbrowser-tabs" + "new-tab-button" + ]; # hardening - "browser.newtabpage.enabled" = false; + "browser.newtabpage.enabled" = true; "browser.newtabpage.activity-stream.feeds.telemetry" = false; "browser.newtabpage.activity-stream.telemetry" = false; "browser.newtabpage.activity-stream.feeds.snippets" = false; diff --git a/home/git-ssh.nix b/home/git-ssh.nix index c93a564..4c0851e 100644 --- a/home/git-ssh.nix +++ b/home/git-ssh.nix @@ -3,6 +3,12 @@ enable = true; userName = "janis"; userEmail = "janis@nirgendwo.xyz"; + + extraConfig = { + init = { + defaultBranch = "main"; + }; + }; }; programs.ssh = { diff --git a/home/hyprlock_idle.nix b/home/hyprlock_idle.nix index 62fadb4..93306b8 100644 --- a/home/hyprlock_idle.nix +++ b/home/hyprlock_idle.nix @@ -1,9 +1,46 @@ {pkgs, ...}: { - services.hypridle.enable = true; services.hyprpolkitagent.enable = true; programs.hyprlock.enable = true; - xdg.configFile."hypr" = { - source = "${pkgs.dotfiles}/.config/hypr"; + # services.hypridle = { + # enable = true; + # settings = let + # idle_timeout = "300"; # 5 minutes + # screen_timeout = "600"; # 10 minutes + # suspend_timeout = "900"; # 10 minutes + # lock_cmd = "${pkgs.procps}/bin/pidof hyprlock || ${pkgs.hyprlock}/bin/hyprlock"; + # suspend_cmd = "systemctl suspend"; + # in{ + # general = { + # inherit lock_cmd; + # before_sleep_cmd = "loginctl lock-session"; + # }; + + # listener = [ + # { + # timeout = idle_timeout; + # on-timeout = "loginctl lock-session"; + # } + # { + # timeout = screen_timeout; + # on-timeout = "{pkgs.sway}/bin/swaymsg 'output * dpms off'"; + # on-resume = "{pkgs.sway}/bin/swaymsg 'output * dpms on'"; + # } + # { + # timeout = suspend_timeout; + # on-timeout = suspend_cmd; + # } + # ]; + + # }; + # }; + + home.packages = with pkgs; [ + hyprlock + # hypridle + ]; + + xdg.configFile."hypr/hyprlock.conf" = { + source = "${pkgs.dotfiles}/.config/hypr/hyprlock.conf"; }; } diff --git a/home/libinput.nix b/home/libinput.nix index 4dd21e8..a46fe55 100644 --- a/home/libinput.nix +++ b/home/libinput.nix @@ -5,15 +5,15 @@ ]; # Ensure libinput-gestures service is enabled - wayland.windowManager.sway.systemd.extraCommands = [ - "systemctl --user enable libinput-gestures.service" - "systemctl --user start libinput-gestures.service" - ]; + # wayland.windowManager.sway.systemd.extraCommands = [ + # "systemctl --user enable libinput-gestures.service" + # "systemctl --user start libinput-gestures.service" + # ]; xdg.configFile."libinput-gestures.conf".text = '' gesture swipe left 4 ${pkgs.sway}/bin/swaymsg workspace prev gesture swipe right 4 ${pkgs.sway}/bin/swaymsg workspace next - gesture swipe down 4 swaylock-wrapper + gesture swipe down 4 ${pkgs.hyprlock}/bin/hyprlock gesture pinch in 4 ${pkgs.rofi}/bin/rofi -combi-modi window,drun,run,ssh,combi -show combi -show-icons ''; } diff --git a/home/sway.nix b/home/sway.nix index 803e733..ff0aed6 100644 --- a/home/sway.nix +++ b/home/sway.nix @@ -13,6 +13,7 @@ in { brightnessctl gammastep wmctrl + alsa-utils wireplumber alacritty waybar @@ -27,6 +28,7 @@ in { enable = true; systemd = { enable = true; + dbusImplementation = "broker"; }; config = { @@ -47,10 +49,14 @@ in { always = true; command = "${pkgs.gammastep}/bin/gammastep -l 54:10 -t 6500k:4500k"; } - { - always = true; - command = "systemctl --user restart libinput-gestures.service"; - } + # { + # always = true; + # command = "systemctl --user restart libinput-gestures.service"; + # } + # { + # always = true; + # command = "systemctl --user start wpaperd.service"; + # } ]; gaps = { @@ -92,8 +98,8 @@ in { "${mod}+Print" = "exec screenshot --area"; "${mod}+Shift+Print" = "exec screenshot --current-window"; - "XF86AudioRaiseVolume" = "exec ${wireplumber}/bin/wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+"; - "XF86AudioLowerVolume" = "exec ${wireplumber}/bin/wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-"; + "XF86AudioRaiseVolume" = "exec ${alsa-utils}/bin/amixer set Master 5%+"; + "XF86AudioLowerVolume" = "exec ${alsa-utils}/bin/amixer set Master 5%-"; "XF86AudioMute" = "exec ${wireplumber}/bin/wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"; "XF86AudioMicMute" = "exec ${wireplumber}/bin/wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle"; @@ -101,8 +107,8 @@ in { "XF86AudioNext" = "mpc next"; "XF86AudioPrev" = "mpc prev"; - "XF86MonBrightnessUp" = "exec ${brightnessctl}/bin/brightnessctl set +10%"; - "XF86MonBrightnessDown" = "exec ${brightnessctl}/bin/brightnessctl set 10%-"; + "XF86MonBrightnessUp" = "exec ${brightnessctl}/bin/brightnessctl set +5%"; + "XF86MonBrightnessDown" = "exec ${brightnessctl}/bin/brightnessctl set 5%-"; "${mod}+Shift+Return" = "exec ${alacritty}/bin/alacritty"; "${mod}+q" = "kill"; @@ -133,7 +139,7 @@ in { "${mod}+w" = "layout tabbed"; "${mod}+e" = "layout toggle split"; - "${mod}+Shift+space" = "layout toggle floating"; + "${mod}+Shift+space" = "floating toggle"; "${mod}+space" = "focus mode_toggle"; "${mod}+Shift+f" = "fullscreen"; diff --git a/pkgs/overlay.nix b/pkgs/overlay.nix index 2d94d66..60c5867 100644 --- a/pkgs/overlay.nix +++ b/pkgs/overlay.nix @@ -3,6 +3,6 @@ final: prev: { nordvpn-rofi = prev.callPackage ./nordvpn-rofi.nix {}; screenshot = prev.callPackage ./screenshot.nix {}; dotfiles = prev.callPackage ./dotfiles.nix {}; - tree-sitter-slang = prev.callPackage ./tree-sitter-slang.nix {}; + # tree-sitter-slang = prev.callPackage ./tree-sitter-slang.nix {}; wpaperd-patched = prev.callPackage ./wpaperd.nix {}; } diff --git a/system/default.nix b/system/default.nix index dd21781..ce557f4 100644 --- a/system/default.nix +++ b/system/default.nix @@ -107,6 +107,8 @@ qemuGuest.enable = config.vmGuest; spice-vdagentd.enable = config.vmGuest; + dbus.implementation = "broker"; + connman = { enable = true; wifi.backend = "iwd"; # Use iwd for Wi-Fi management. diff --git a/user/default.nix b/user/default.nix index 7304c69..55fcac5 100644 --- a/user/default.nix +++ b/user/default.nix @@ -20,16 +20,17 @@ in { services = { udisks2.enable = true; + # xserver.enable = true; + # xserver.displayManager.sddm.enable = true; greetd = { enable = true; settings = { default_session = { - command = "${pkgs.greetd.tuigreet}/bin/tuigreet --time --cmd sway"; + command = "${pkgs.greetd.tuigreet}/bin/tuigreet --time --cmd 'dbus-run-session sway'"; user = "greeter"; }; }; }; - }; home-manager.users.${user.username} = { ... }: {