summaryrefslogtreecommitdiff
path: root/hm
diff options
context:
space:
mode:
authoradikro <adikro@disroot.org>2026-02-12 23:04:24 +0100
committeradikro <adikro@disroot.org>2026-02-12 23:04:24 +0100
commit512483106110b5f9209bb03238d44b991fe15d22 (patch)
tree94b53e9e610053d4584f00799843c901d10e0b19 /hm
parent9868584ddabad45a9964ae9bf64d109963fd1e3d (diff)
thinkpad configuration finalization
Diffstat (limited to 'hm')
-rw-r--r--hm/conf/xdg-dirs.nix32
-rw-r--r--hm/conf/xdg-mime.nix1
-rw-r--r--hm/editors/editors.nix2
-rw-r--r--hm/editors/nixvim/binds.nix0
-rw-r--r--hm/editors/nixvim/nixvim.nix (renamed from hm/editors/nixvim.nix)0
-rw-r--r--hm/env/niri/binds.nix263
-rw-r--r--hm/soft/media.nix2
-rw-r--r--hm/soft/mpv.nix12
8 files changed, 161 insertions, 151 deletions
diff --git a/hm/conf/xdg-dirs.nix b/hm/conf/xdg-dirs.nix
index ee34bd0..ba5b063 100644
--- a/hm/conf/xdg-dirs.nix
+++ b/hm/conf/xdg-dirs.nix
@@ -6,10 +6,10 @@ in
options.hm.conf.xdg-dirs = {
enable = lib.mkEnableOption "enables xdg dirs";
- mediaPath = lib.mkOption {
+ storagePath = lib.mkOption {
type = lib.types.path;
default = config.home.homeDirectory;
- description = "base path for media";
+ description = "base path for storage";
};
};
config = lib.mkIf cfg.enable {
@@ -20,8 +20,8 @@ in
download = "${config.home.homeDirectory}/dl";
documents = "${config.home.homeDirectory}/docs";
- pictures = "${toString cfg.mediaPath}/pics";
- videos = "${toString cfg.mediaPath}/vids";
+ pictures = "${toString cfg.storagePath}/pics";
+ videos = "${toString cfg.storagePath}/vids";
desktop = null;
music = null;
@@ -31,23 +31,23 @@ in
extraConfig = {
PROJECTS = "${config.home.homeDirectory}/proj";
GAMES = "${config.home.homeDirectory}/games";
- MEDIA = "${toString cfg.mediaPath}";
- SS = "${toString cfg.mediaPath}/pics/ss";
- CLIPS = "${toString cfg.mediaPath}/vids/clips";
- MOVIES = "${toString cfg.mediaPath}/movies";
- ANIME = "${toString cfg.mediaPath}/anime";
- ARCHIVE = "${toString cfg.mediaPath}/archive";
+ storage = "${toString cfg.storagePath}";
+ SS = "${toString cfg.storagePath}/pics/ss";
+ CLIPS = "${toString cfg.storagePath}/vids/clips";
+ MOVIES = "${toString cfg.storagePath}/movies";
+ ANIME = "${toString cfg.storagePath}/anime";
+ ARCHIVE = "${toString cfg.storagePath}/archive";
};
};
home.sessionVariables = {
PROJECTS = "${config.home.homeDirectory}/proj";
GAMES = "${config.home.homeDirectory}/games";
- MEDIA = "${toString cfg.mediaPath}";
- SS = "${toString cfg.mediaPath}/pics/ss";
- CLIPS = "${toString cfg.mediaPath}/vids/clips";
- MOVIES = "${toString cfg.mediaPath}/movies";
- ANIME = "${toString cfg.mediaPath}/anime";
- ARCHIVE = "${toString cfg.mediaPath}/archive";
+ storage = "${toString cfg.storagePath}";
+ SS = "${toString cfg.storagePath}/pics/ss";
+ CLIPS = "${toString cfg.storagePath}/vids/clips";
+ MOVIES = "${toString cfg.storagePath}/movies";
+ ANIME = "${toString cfg.storagePath}/anime";
+ ARCHIVE = "${toString cfg.storagePath}/archive";
};
};
}
diff --git a/hm/conf/xdg-mime.nix b/hm/conf/xdg-mime.nix
index 0f55c5d..e024a89 100644
--- a/hm/conf/xdg-mime.nix
+++ b/hm/conf/xdg-mime.nix
@@ -32,6 +32,7 @@ in
"audio/ogg" = [ "mpv.desktop" ];
"text/html" = [ "firefox.desktop" ];
+ "x-scheme-handler/terminal" = [ "foot.desktop" ];
"x-scheme-handler/http" = [ "firefox.desktop" ];
"x-scheme-handler/https" = [ "firefox.desktop" ];
"inode/directory" = [ "thunar.desktop" ];
diff --git a/hm/editors/editors.nix b/hm/editors/editors.nix
index bca92dd..02c349b 100644
--- a/hm/editors/editors.nix
+++ b/hm/editors/editors.nix
@@ -2,7 +2,7 @@
{
imports = [
./helix.nix
- ./nixvim.nix
+ ./nixvim/nixvim.nix
# ./nvf.nix
];
}
diff --git a/hm/editors/nixvim/binds.nix b/hm/editors/nixvim/binds.nix
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/hm/editors/nixvim/binds.nix
diff --git a/hm/editors/nixvim.nix b/hm/editors/nixvim/nixvim.nix
index 579c9e2..579c9e2 100644
--- a/hm/editors/nixvim.nix
+++ b/hm/editors/nixvim/nixvim.nix
diff --git a/hm/env/niri/binds.nix b/hm/env/niri/binds.nix
index fd46c17..e85b867 100644
--- a/hm/env/niri/binds.nix
+++ b/hm/env/niri/binds.nix
@@ -4,156 +4,159 @@
pkgs,
...
}:
-with config.lib.niri.actions; let
+with config.lib.niri.actions;
+let
playerctl = spawn "${pkgs.playerctl}/bin/playerctl";
- ss = "${toString config.hm.conf.xdg-dirs.mediaPath}/pics/ss/$(date +%Y-%m-%d_%H-%M-%S)";
+ ss = "${toString config.hm.conf.xdg-dirs.storagePath}/pics/ss/$(date +%Y-%m-%d_%H-%M-%S)";
in
- {
- "Mod+O" = {
- action = toggle-overview;
- repeat = false;
- };
- "Mod+Slash".action = show-hotkey-overlay;
-
- XF86AudioRaiseVolume.action = playerctl "volume" "0.03+";
- XF86AudioLowerVolume.action = playerctl "volume" "0.03-";
- XF86AudioMute.action = spawn "sh" "-c" ''
- wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle && \
- wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle
- '';
- XF86Tools.action = spawn "sh" "-c" ''
- wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle && \
- wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle
- '';
+{
+ "Mod+O" = {
+ action = toggle-overview;
+ repeat = false;
+ };
+ "Mod+Slash".action = show-hotkey-overlay;
- "Mod+WheelScrollDown".action = focus-column-right;
- "Mod+WheelScrollUp".action = focus-column-left;
- "Mod+Shift+WheelScrollDown".action = move-column-right;
- "Mod+Shift+WheelScrollUp".action = move-column-left;
+ XF86AudioRaiseVolume.action = playerctl "volume" "0.03+";
+ XF86AudioLowerVolume.action = playerctl "volume" "0.03-";
+ XF86AudioMute.action = spawn "sh" "-c" ''
+ wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle && \
+ wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle
+ '';
+ XF86Tools.action = spawn "sh" "-c" ''
+ wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle && \
+ wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle
+ '';
- "Super+WheelScrollDown".action = focus-workspace-down;
- "Super+WheelScrollUp".action = focus-workspace-up;
- "Super+Shift+WheelScrollDown".action = move-window-down-or-to-workspace-down;
- "Super+Shift+WheelScrollUp".action = move-window-up-or-to-workspace-up;
+ "Mod+WheelScrollDown".action = focus-column-right;
+ "Mod+WheelScrollUp".action = focus-column-left;
+ "Mod+Shift+WheelScrollDown".action = move-column-right;
+ "Mod+Shift+WheelScrollUp".action = move-column-left;
- XF86Launch5.action = consume-or-expel-window-right;
- XF86Launch6.action = consume-or-expel-window-left;
- XF86Launch7.action = switch-preset-column-width;
+ "Super+WheelScrollDown".action = focus-workspace-down;
+ "Super+WheelScrollUp".action = focus-workspace-up;
+ "Super+Shift+WheelScrollDown".action = move-window-down-or-to-workspace-down;
+ "Super+Shift+WheelScrollUp".action = move-window-up-or-to-workspace-up;
- "Super+Shift+L".action = spawn "swaylock" "-f";
- XF86AudioPlay.action = playerctl "play-pause";
- XF86AudioPrev.action = playerctl "previous";
- XF86AudioNext.action = playerctl "next";
+ XF86Launch5.action = consume-or-expel-window-right;
+ XF86Launch6.action = consume-or-expel-window-left;
+ XF86Launch7.action = switch-preset-column-width;
- "Mod+Minus".action = set-column-width "-10%";
- "Mod+Equal".action = set-column-width "+10%";
+ "Super+Shift+L".action = spawn "swaylock" "-f";
+ XF86AudioPlay.action = playerctl "play-pause";
+ XF86AudioPrev.action = playerctl "previous";
+ XF86AudioNext.action = playerctl "next";
- "Mod+Shift+Minus".action = set-window-height "-10%";
- "Mod+Shift+Equal".action = set-window-height "+10%";
+ "Mod+Minus".action = set-column-width "-10%";
+ "Mod+Equal".action = set-column-width "+10%";
- "Mod+Shift+V".action = toggle-window-floating;
- "Mod+W".action = toggle-column-tabbed-display;
+ "Mod+Shift+Minus".action = set-window-height "-10%";
+ "Mod+Shift+Equal".action = set-window-height "+10%";
- "Mod+XF86Launch7" = {
- action = spawn "sh" "-c" ''
- wayfreeze &
- sleep 0.1
- GEOM=$(slurp)
- if [ -n "$GEOM" ]; then
- grim -g "$GEOM" - | tee ${ss}.png | wl-copy
- fi
- pkill -n wayfreeze
- '';
- repeat = false;
- };
+ "Mod+Shift+V".action = toggle-window-floating;
+ "Mod+W".action = toggle-column-tabbed-display;
- "Mod+Shift+XF86Launch7" = {
- action = spawn "sh" "-c" ''
- wayfreeze &
- sleep 0.1
- GEOM=$(slurp)
- if [ -n "$GEOM" ]; then
- grim -g "$GEOM" -t ppm - | satty --filename - --output-filename "${ss}-edited.png"
- fi
- pkill -n wayfreeze
- '';
- repeat = false;
- };
+ "Mod+XF86Launch7" = {
+ action = spawn "sh" "-c" ''
+ wayfreeze &
+ sleep 0.1
+ GEOM=$(slurp)
+ if [ -n "$GEOM" ]; then
+ grim -g "$GEOM" - | tee ${ss}.png | wl-copy
+ fi
+ pkill -n wayfreeze
+ '';
+ repeat = false;
+ };
- "Mod+S" = {
- action = spawn "sh" "-c" ''
- wayfreeze &
- sleep 0.1
- GEOM=$(slurp)
- if [ -n "$GEOM" ]; then
- grim -g "$GEOM" - | tee ${ss}.png | wl-copy
- fi
- pkill -n wayfreeze
- '';
- repeat = false;
- };
+ "Mod+Shift+XF86Launch7" = {
+ action = spawn "sh" "-c" ''
+ wayfreeze &
+ sleep 0.1
+ GEOM=$(slurp)
+ if [ -n "$GEOM" ]; then
+ grim -g "$GEOM" -t ppm - | satty --filename - --output-filename "${ss}-edited.png"
+ fi
+ pkill -n wayfreeze
+ '';
+ repeat = false;
+ };
- "Mod+Shift+S" = {
- action = spawn "sh" "-c" ''
- wayfreeze &
- sleep 0.1
- GEOM=$(slurp)
- if [ -n "$GEOM" ]; then
- grim -g "$GEOM" -t ppm - | satty --filename - --output-filename "${ss}-edited.png"
- fi
- pkill -n wayfreeze
- '';
- repeat = false;
- };
+ "Mod+S" = {
+ action = spawn "sh" "-c" ''
+ wayfreeze &
+ sleep 0.1
+ GEOM=$(slurp)
+ if [ -n "$GEOM" ]; then
+ grim -g "$GEOM" - | tee ${ss}.png | wl-copy
+ fi
+ pkill -n wayfreeze
+ '';
+ repeat = false;
+ };
- "Mod+Shift+D".action = spawn "sh" "-c" ''
- cliphist list | fuzzel --dmenu | cliphist decode | wl-copy
+ "Mod+Shift+S" = {
+ action = spawn "sh" "-c" ''
+ wayfreeze &
+ sleep 0.1
+ GEOM=$(slurp)
+ if [ -n "$GEOM" ]; then
+ grim -g "$GEOM" -t ppm - | satty --filename - --output-filename "${ss}-edited.png"
+ fi
+ pkill -n wayfreeze
'';
+ repeat = false;
+ };
+
+ "Mod+Shift+D".action = spawn "sh" "-c" ''
+ cliphist list | fuzzel --dmenu | cliphist decode | wl-copy
+ '';
- "Mod+Return".action = spawn "foot";
- "Mod+D".action = spawn "fuzzel";
- "Mod+C".action = spawn "qalculate-gtk";
- "Mod+BracketLeft".action = consume-or-expel-window-left;
- "Mod+BracketRight".action = consume-or-expel-window-right;
+ "Mod+Return".action = spawn "foot";
+ "Mod+D".action = spawn "fuzzel";
+ "Mod+C".action = spawn "qalculate-gtk";
+ "Mod+BracketLeft".action = consume-or-expel-window-left;
+ "Mod+BracketRight".action = consume-or-expel-window-right;
- "Mod+R".action = switch-preset-column-width;
- "Mod+Shift+R".action = reset-window-height;
- "Mod+F".action = maximize-column;
- "Mod+Shift+F".action = fullscreen-window;
+ "Mod+R".action = switch-preset-column-width;
+ "Mod+Shift+R".action = reset-window-height;
+ "Mod+F".action = maximize-column;
+ "Mod+Shift+F".action = fullscreen-window;
- "Mod+Comma".action = consume-window-into-column;
- "Mod+Period".action = expel-window-from-column;
+ "Mod+Comma".action = consume-window-into-column;
+ "Mod+Period".action = expel-window-from-column;
- "Mod+Shift+E".action = quit;
+ "Mod+Shift+E".action = quit;
- "Mod+H".action = focus-column-left;
- "Mod+L".action = focus-column-right;
- "Mod+J".action = focus-workspace-down;
- "Mod+K".action = focus-workspace-up;
+ "Mod+H".action = focus-column-left;
+ "Mod+L".action = focus-column-right;
+ "Mod+J".action = focus-workspace-down;
+ "Mod+K".action = focus-workspace-up;
- "Mod+Shift+H".action = move-column-left;
- "Mod+Shift+L".action = move-column-right;
- "Mod+Shift+J".action = move-window-down-or-to-workspace-down;
- "Mod+Shift+K".action = move-window-up-or-to-workspace-up;
+ "Mod+Shift+H".action = move-column-left;
+ "Mod+Shift+L".action = move-column-right;
+ "Mod+Shift+J".action = move-window-down-or-to-workspace-down;
+ "Mod+Shift+K".action = move-window-up-or-to-workspace-up;
- "Mod+Shift+Q".action = close-window;
+ "Mod+Shift+Q".action = close-window;
- "Super+Return".action = spawn "obs-cmd" "replay" "save";
- }
- // (builtins.listToAttrs (
- builtins.concatMap (
- keyNum: let
- key = toString keyNum;
- targetWS = keyNum + 1;
- in [
- {
- name = "Mod+${key}";
- value.action = focus-workspace targetWS;
- }
- {
- name = "Mod+Shift+${key}";
- value.action.move-column-to-workspace = [targetWS];
- }
- ]
- ) (lib.range 1 9)
- ))
+ "Super+Return".action = spawn "obs-cmd" "replay" "save";
+}
+// (builtins.listToAttrs (
+ builtins.concatMap (
+ keyNum:
+ let
+ key = toString keyNum;
+ targetWS = keyNum + 1;
+ in
+ [
+ {
+ name = "Mod+${key}";
+ value.action = focus-workspace targetWS;
+ }
+ {
+ name = "Mod+Shift+${key}";
+ value.action.move-column-to-workspace = [ targetWS ];
+ }
+ ]
+ ) (lib.range 1 9)
+))
diff --git a/hm/soft/media.nix b/hm/soft/media.nix
index b307904..89cbe13 100644
--- a/hm/soft/media.nix
+++ b/hm/soft/media.nix
@@ -51,11 +51,11 @@ in
};
};
home.packages = with pkgs; [
+ czkawka
nsxiv
pinta
ffmpeg
imagemagick
- exiftool
mediainfo
sox
syncplay-nogui
diff --git a/hm/soft/mpv.nix b/hm/soft/mpv.nix
index 4af4198..380d0d5 100644
--- a/hm/soft/mpv.nix
+++ b/hm/soft/mpv.nix
@@ -1,4 +1,9 @@
-{ config, lib, pkgs, ... }:
+{
+ config,
+ lib,
+ pkgs,
+ ...
+}:
let
cfg = config.hm.soft.mpv;
s = "~~/shaders/shim";
@@ -12,7 +17,8 @@ in
];
home.file = {
- ".config/mpv/shaders/shim".source = "${pkgs.mpv-shim-default-shaders}/share/mpv-shim-default-shaders/shaders";
+ ".config/mpv/shaders/shim".source =
+ "${pkgs.mpv-shim-default-shaders}/share/mpv-shim-default-shaders/shaders";
};
programs.mpv = {
@@ -69,7 +75,7 @@ in
screenshot-format = "png";
screenshot-sw = "no";
- screenshot-directory = "${toString config.hm.conf.xdg-dirs.mediaPath}/pics/ss";
+ screenshot-directory = "${toString config.hm.conf.xdg-dirs.storagePath}/pics/ss";
screenshot-template = "mpv-%f-%wH.%wM.%wS-#%#00n";
};