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"
};
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

View file

@ -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
# ]))
# ]);
};
}

View file

@ -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;

View file

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

View file

@ -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";
};
}

View file

@ -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
'';
}

View file

@ -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";

View file

@ -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 {};
}

View file

@ -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.

View file

@ -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} = { ... }: {