way too much at once

This commit is contained in:
janis 2025-09-02 23:12:59 +02:00
parent e6007e8ff1
commit 51f0016f39
10 changed files with 127 additions and 31 deletions

View file

@ -24,6 +24,12 @@ in {
# flake = "/etc/nixos/config#laptop" # flake = "/etc/nixos/config#laptop"
}; };
programs.direnv = {
enable = true;
nix-direnv.enable = true;
enableZshIntegration = true;
};
xdg.systemDirs.data = ["${pkgs.nordvpn}/share"]; xdg.systemDirs.data = ["${pkgs.nordvpn}/share"];
gtk = { gtk = {
@ -54,10 +60,13 @@ in {
homeDirectory = "/home/${user.username}"; homeDirectory = "/home/${user.username}";
username = user.username; username = user.username;
shell.enableZshIntegration = true;
sessionVariables = { sessionVariables = {
EDITOR = "nvim"; EDITOR = "nvim";
VISUAL = "nvim"; VISUAL = "nvim";
GTK_THEME = "Breeze-Dark"; GTK_THEME = "Breeze-Dark";
NIXOS_OZONE_WL = "1";
}; };
pointerCursor = { pointerCursor = {
@ -81,7 +90,11 @@ in {
htop htop
pavucontrol pavucontrol
ripgrep ripgrep
killall
vanilla-dmz vanilla-dmz
(discord.override {withVencord = true;})
bitwarden-desktop
bitwarden-cli
# file manager # file manager
nemo-with-extensions nemo-with-extensions

View file

@ -4,7 +4,7 @@ let
emacs-config = builtins.fetchGit { emacs-config = builtins.fetchGit {
url = "git@git.nirgendwo.xyz:janis/dot-emacs.git"; url = "git@git.nirgendwo.xyz:janis/dot-emacs.git";
ref = "main"; ref = "main";
rev = "39d889549f2b0b5c5392852daa862437e080a710"; rev = "41f5c3340a0232ea1c0e0bb44b0609b2956c3fe9";
}; };
in { in {
# TODO: turn this into a FHS or package so these dependencies don't have to be # 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-zig
tree-sitter-elisp tree-sitter-elisp
tree-sitter-markdown tree-sitter-markdown
pkgs.tree-sitter-slang # tree-sitter-slang
])) ]))
# spelling # spelling
(hunspellWithDicts [ # Note: don't use `hunspellWithDicts` here, because enchant will not be able
hunspellDicts.en-gb-ise # to see the dictionaries unless they are by themselves.
hunspellDicts.en-gb-large hunspell
hunspellDicts.de-de # hunspellDicts.en-gb-ise
hunspellDicts.da-dk hunspellDicts.en-gb-large # contains both ise and ize spellings
]) hunspellDicts.de-de
hunspellDicts.da-dk
# language servers # language servers
pkgs.unstable.rust-analyzer pkgs.unstable.rust-analyzer
@ -56,7 +57,31 @@ in {
# }; # };
# }; # };
programs.emacs = { programs.emacs = {
enable = true; enable = true;
package = pkgs.emacs-git-pgtk; 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
# ]))
# ]);
}; };
} }

View file

@ -38,9 +38,15 @@ in{
"browser.startup.page" = 3; # resume previous session "browser.startup.page" = 3; # resume previous session
"browser.startup.homepage" = "about:home"; "browser.startup.homepage" = "about:home";
"browser.toolbars.bookmarks.visibility" = "never"; "browser.toolbars.bookmarks.visibility" = "never";
"sidebar.verticalTabs" = true;
"browser.uiCustomization.horizontalTabstrip" = [
"firefox-view-button"
"tabbrowser-tabs"
"new-tab-button"
];
# hardening # hardening
"browser.newtabpage.enabled" = false; "browser.newtabpage.enabled" = true;
"browser.newtabpage.activity-stream.feeds.telemetry" = false; "browser.newtabpage.activity-stream.feeds.telemetry" = false;
"browser.newtabpage.activity-stream.telemetry" = false; "browser.newtabpage.activity-stream.telemetry" = false;
"browser.newtabpage.activity-stream.feeds.snippets" = false; "browser.newtabpage.activity-stream.feeds.snippets" = false;

View file

@ -3,6 +3,12 @@
enable = true; enable = true;
userName = "janis"; userName = "janis";
userEmail = "janis@nirgendwo.xyz"; userEmail = "janis@nirgendwo.xyz";
extraConfig = {
init = {
defaultBranch = "main";
};
};
}; };
programs.ssh = { programs.ssh = {

View file

@ -1,9 +1,46 @@
{pkgs, ...}: { {pkgs, ...}: {
services.hypridle.enable = true;
services.hyprpolkitagent.enable = true; services.hyprpolkitagent.enable = true;
programs.hyprlock.enable = true; programs.hyprlock.enable = true;
xdg.configFile."hypr" = { # services.hypridle = {
source = "${pkgs.dotfiles}/.config/hypr"; # 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";
}; };
} }

View file

@ -5,15 +5,15 @@
]; ];
# Ensure libinput-gestures service is enabled # Ensure libinput-gestures service is enabled
wayland.windowManager.sway.systemd.extraCommands = [ # wayland.windowManager.sway.systemd.extraCommands = [
"systemctl --user enable libinput-gestures.service" # "systemctl --user enable libinput-gestures.service"
"systemctl --user start libinput-gestures.service" # "systemctl --user start libinput-gestures.service"
]; # ];
xdg.configFile."libinput-gestures.conf".text = '' xdg.configFile."libinput-gestures.conf".text = ''
gesture swipe left 4 ${pkgs.sway}/bin/swaymsg workspace prev gesture swipe left 4 ${pkgs.sway}/bin/swaymsg workspace prev
gesture swipe right 4 ${pkgs.sway}/bin/swaymsg workspace next 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 gesture pinch in 4 ${pkgs.rofi}/bin/rofi -combi-modi window,drun,run,ssh,combi -show combi -show-icons
''; '';
} }

View file

@ -13,6 +13,7 @@ in {
brightnessctl brightnessctl
gammastep gammastep
wmctrl wmctrl
alsa-utils
wireplumber wireplumber
alacritty alacritty
waybar waybar
@ -27,6 +28,7 @@ in {
enable = true; enable = true;
systemd = { systemd = {
enable = true; enable = true;
dbusImplementation = "broker";
}; };
config = { config = {
@ -47,10 +49,14 @@ in {
always = true; always = true;
command = "${pkgs.gammastep}/bin/gammastep -l 54:10 -t 6500k:4500k"; command = "${pkgs.gammastep}/bin/gammastep -l 54:10 -t 6500k:4500k";
} }
{ # {
always = true; # always = true;
command = "systemctl --user restart libinput-gestures.service"; # command = "systemctl --user restart libinput-gestures.service";
} # }
# {
# always = true;
# command = "systemctl --user start wpaperd.service";
# }
]; ];
gaps = { gaps = {
@ -92,8 +98,8 @@ in {
"${mod}+Print" = "exec screenshot --area"; "${mod}+Print" = "exec screenshot --area";
"${mod}+Shift+Print" = "exec screenshot --current-window"; "${mod}+Shift+Print" = "exec screenshot --current-window";
"XF86AudioRaiseVolume" = "exec ${wireplumber}/bin/wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+"; "XF86AudioRaiseVolume" = "exec ${alsa-utils}/bin/amixer set Master 5%+";
"XF86AudioLowerVolume" = "exec ${wireplumber}/bin/wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-"; "XF86AudioLowerVolume" = "exec ${alsa-utils}/bin/amixer set Master 5%-";
"XF86AudioMute" = "exec ${wireplumber}/bin/wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"; "XF86AudioMute" = "exec ${wireplumber}/bin/wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle";
"XF86AudioMicMute" = "exec ${wireplumber}/bin/wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle"; "XF86AudioMicMute" = "exec ${wireplumber}/bin/wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle";
@ -101,8 +107,8 @@ in {
"XF86AudioNext" = "mpc next"; "XF86AudioNext" = "mpc next";
"XF86AudioPrev" = "mpc prev"; "XF86AudioPrev" = "mpc prev";
"XF86MonBrightnessUp" = "exec ${brightnessctl}/bin/brightnessctl set +10%"; "XF86MonBrightnessUp" = "exec ${brightnessctl}/bin/brightnessctl set +5%";
"XF86MonBrightnessDown" = "exec ${brightnessctl}/bin/brightnessctl set 10%-"; "XF86MonBrightnessDown" = "exec ${brightnessctl}/bin/brightnessctl set 5%-";
"${mod}+Shift+Return" = "exec ${alacritty}/bin/alacritty"; "${mod}+Shift+Return" = "exec ${alacritty}/bin/alacritty";
"${mod}+q" = "kill"; "${mod}+q" = "kill";
@ -133,7 +139,7 @@ in {
"${mod}+w" = "layout tabbed"; "${mod}+w" = "layout tabbed";
"${mod}+e" = "layout toggle split"; "${mod}+e" = "layout toggle split";
"${mod}+Shift+space" = "layout toggle floating"; "${mod}+Shift+space" = "floating toggle";
"${mod}+space" = "focus mode_toggle"; "${mod}+space" = "focus mode_toggle";
"${mod}+Shift+f" = "fullscreen"; "${mod}+Shift+f" = "fullscreen";

View file

@ -3,6 +3,6 @@ final: prev: {
nordvpn-rofi = prev.callPackage ./nordvpn-rofi.nix {}; nordvpn-rofi = prev.callPackage ./nordvpn-rofi.nix {};
screenshot = prev.callPackage ./screenshot.nix {}; screenshot = prev.callPackage ./screenshot.nix {};
dotfiles = prev.callPackage ./dotfiles.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 {}; wpaperd-patched = prev.callPackage ./wpaperd.nix {};
} }

View file

@ -107,6 +107,8 @@
qemuGuest.enable = config.vmGuest; qemuGuest.enable = config.vmGuest;
spice-vdagentd.enable = config.vmGuest; spice-vdagentd.enable = config.vmGuest;
dbus.implementation = "broker";
connman = { connman = {
enable = true; enable = true;
wifi.backend = "iwd"; # Use iwd for Wi-Fi management. wifi.backend = "iwd"; # Use iwd for Wi-Fi management.

View file

@ -20,16 +20,17 @@ in {
services = { services = {
udisks2.enable = true; udisks2.enable = true;
# xserver.enable = true;
# xserver.displayManager.sddm.enable = true;
greetd = { greetd = {
enable = true; enable = true;
settings = { settings = {
default_session = { 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"; user = "greeter";
}; };
}; };
}; };
}; };
home-manager.users.${user.username} = { ... }: { home-manager.users.${user.username} = { ... }: {