way too much at once
This commit is contained in:
parent
e6007e8ff1
commit
51f0016f39
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
# ]))
|
||||||
|
# ]);
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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 = {
|
||||||
|
|
|
@ -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";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -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
|
||||||
'';
|
'';
|
||||||
}
|
}
|
||||||
|
|
|
@ -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";
|
||||||
|
|
||||||
|
|
|
@ -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 {};
|
||||||
}
|
}
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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} = { ... }: {
|
||||||
|
|
Loading…
Reference in a new issue