Compare commits

..
Author SHA1 Message Date
aaron 2ae9d451f5 Merge pull request 'refactor(tmux): tidy up my old tmux config, use unicode for the seperators and backport augmentations from my at-work-config' (#65) from feature/tmux into main
Reviewed-on: #65
2026-07-29 10:34:05 +02:00
aaron 3feb6d2367 refactor(tmux): tidy up my old tmux config, use unicode for the seperators and backport augmentations from my at-work-config 2026-07-29 10:30:33 +02:00
aaron 41fbb67fc9 Merge pull request 'fix(sleep): revert s2sleep as it introduces crashes after the wake-up of the system' (#64) from fix/sleep into main
Reviewed-on: #64
2026-07-23 17:10:08 +02:00
aaron b15968b004 fix(sleep): revert s2sleep as it introduces crashes after the wake-up of the system 2026-07-23 16:12:50 +02:00
aaron 274c39b213 Merge pull request 'refactor(sleep): move the s2 sleep change to argon only since s2idle would cost more battery on a laptop that s3 deep sleep' (#63) from fix/sleep into main
Reviewed-on: #63
2026-07-23 15:08:41 +02:00
aaron 2a3c439993 refactor(sleep): move the s2 sleep change to argon only since s2idle would cost more battery on a laptop that s3 deep sleep 2026-07-23 15:08:24 +02:00
aaron a2e9ad6035 Merge pull request 'fix(sleep): change sleep mode from s3 deep to s2 idle sleep to prevent issues woth radeon RDNA4 cards' (#62) from fix/sleep into main
Reviewed-on: #62
2026-07-23 14:56:59 +02:00
aaron 6fdde12804 fix(sleep): change sleep mode from s3 deep to s2 idle sleep to prevent issues woth radeon RDNA4 cards 2026-07-23 14:51:55 +02:00
aaron 32291e63bb Merge pull request 'chore(update): update flake file' (#61) from feature/update into main
Reviewed-on: #61
2026-07-23 14:29:18 +02:00
aaron 0e681ec0e2 chore(update): update flake file 2026-07-20 22:51:44 +02:00
aaron 0ce944b327 Merge pull request 'chore(flake): update flake file' (#60) from feature/updates into main
Reviewed-on: #60
2026-07-06 22:12:41 +02:00
3 changed files with 104 additions and 35 deletions
Generated
+12 -12
View File
@@ -28,11 +28,11 @@
]
},
"locked": {
"lastModified": 1783823409,
"narHash": "sha256-OI4IkRjRXa1e7hYmCGJDPDq5H/kPwhsyoS80cNUF9fI=",
"lastModified": 1784546264,
"narHash": "sha256-jxVr5EHMYAOkFvS2k0abIvt6NqyshyWmiHHzV17sT2g=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "7566825d4652a1b885bd4ce65bd9e8def432fec9",
"rev": "e3dea8e4792b09a6c0eb5836b0284ad05b1acba0",
"type": "github"
},
"original": {
@@ -43,11 +43,11 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1783776592,
"narHash": "sha256-UgCQzxeWI75XM8G+hPrPh+MKzEPjG3SpAj7dtqSbksA=",
"lastModified": 1784497964,
"narHash": "sha256-vlHUuqAcbcH2RKmHbPiuQzbv1pnzzavXnI62RD0bqCU=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "e7a3ca8092b61ff85b6a45bf863ea2b2d6a661b3",
"rev": "241313f4e8e508cb9b13278c2b0fa25b9ca27163",
"type": "github"
},
"original": {
@@ -66,11 +66,11 @@
"systems": "systems"
},
"locked": {
"lastModified": 1783647864,
"narHash": "sha256-gtVkWD4SbsvQQ8aSFEsrUTxxyuim4/ZC6lBJmA+sE/k=",
"lastModified": 1784057377,
"narHash": "sha256-yycNej5//EsRbV10moBoh+/63vXEwZD1ZFEiRm6C9rQ=",
"owner": "nix-community",
"repo": "nixvim",
"rev": "ebffdb62cd1604537ee51d4d23258c002f1c90f8",
"rev": "07180a087e4a00720dc0731cbcd8dec796974381",
"type": "github"
},
"original": {
@@ -86,11 +86,11 @@
]
},
"locked": {
"lastModified": 1783830881,
"narHash": "sha256-V75/tqvYElVWyXnFf+0jh89wMh5a/cbV5YYe/P7RFDM=",
"lastModified": 1784556533,
"narHash": "sha256-tlcP2x7d+ldS3BypTcInqrsOhi6BPuSSTeubfBMmm8Y=",
"owner": "noctalia-dev",
"repo": "noctalia-shell",
"rev": "ed3cb98536eaec92c2b523ddf703e1dc6728f535",
"rev": "815635cf7dc810616c9e6ecf4b9b4f4c54e69905",
"type": "github"
},
"original": {
+91 -22
View File
@@ -1,60 +1,129 @@
{ config, pkgs, inputs, ... }:
let
# Powerline separators, U+E0B0..U+E0B3.
#
# Written as escapes rather than literal glyphs. These are Private Use Area
# codepoints: they render only with a patched font, they survive copy/paste
# badly, and when they get stripped the loss is invisible -- the config still
# parses, the status bar just quietly loses its separators. Nix has no \u
# escape of its own, but fromJSON does.
sep = builtins.fromJSON ''
{
"right": "\ue0b0",
"rightThin": "\ue0b1",
"left": "\ue0b2",
"leftThin": "\ue0b3"
}
'';
in
{
programs.tmux = {
enable = true;
prefix = "C-a";
keyMode = "vi";
mouse = true;
terminal = "screen-256color";
# tmux-256color gives truecolor, italics and undercurl in nvim.
# screen-256color has none of them. No terminfo gymnastics needed here --
# unlike macOS, NixOS ships a current ncurses that has the entry.
terminal = "tmux-256color";
# Default is 500ms. That is the lag you feel leaving insert mode in nvim,
# because tmux is waiting to see whether Esc starts an escape sequence.
escapeTime = 10;
# nvim autoread / :checktime react to focus. home-manager defaults to false.
focusEvents = true;
# Default is 2000.
historyLimit = 50000;
# Window numbers matching the number row. Behaviour change, so opt in.
# baseIndex = 1;
extraConfig = ''
# Status keys
set -g status-keys vi
# Tell tmux the outer terminal can do 24-bit colour (tmux >= 3.2).
set -sa terminal-features ",*:RGB"
# --- Shift+Enter / extended keys -----------------------------------
# Still the open topic; uncommenting these makes tmux forward CSI-u
# sequences unconditionally. Needs tmux >= 3.5 for the format option,
# and a `tmux kill-server` afterwards -- a config reload is not enough.
#set -s extended-keys always
#set -s extended-keys-format csi-u
#set -as terminal-features '*:extkeys'
# Status bar options
set -g status-interval 1
set -g status on
set -g status-interval 5 # was 1; the clock only has minute resolution
set -g status-justify left
# Clock mode
setw -g clock-mode-colour cyan
# Colors
set -g status-bg black
set -g status-fg white
# Key bindings
# Reload configuration
bind r source-file ~/.config/tmux/tmux.conf
# Panel split and selection
# Reload configuration. tmux.conf is a read-only symlink into the nix
# store, so this only picks up changes after `home-manager switch`.
bind r source-file ~/.config/tmux/tmux.conf \; display-message "tmux.conf reloaded"
# Panel split and selection -- new panes/windows inherit the cwd
unbind %
unbind '"'
bind v split-window -v
bind c split-window -h
bind i new-window
bind b previous-window
bind n next-window
bind v split-window -v -c "#{pane_current_path}"
bind c split-window -h -c "#{pane_current_path}"
bind i new-window -c "#{pane_current_path}"
bind -r b previous-window
bind -r n next-window
# Move around panes with hjkl
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R
# Resize panes
bind H resize-pane -L 5
bind J resize-pane -D 5
bind K resize-pane -U 5
bind L resize-pane -R 5
# Resize panes -- -r makes them repeatable, hold instead of re-prefixing
bind -r H resize-pane -L 5
bind -r J resize-pane -D 5
bind -r K resize-pane -U 5
bind -r L resize-pane -R 5
# Wayland clipboard integration
# Copy selection to both clipboard (Ctrl+V / Shift+Insert) and primary (middle-click)
# v/C-v added: you had no way to *start* a selection from the keyboard.
bind -T copy-mode-vi v send-keys -X begin-selection
bind -T copy-mode-vi C-v send-keys -X rectangle-toggle
bind -T copy-mode-vi y send-keys -X copy-pipe-and-cancel "wl-copy && wl-copy --primary"
bind -T copy-mode-vi Enter send-keys -X copy-pipe-and-cancel "wl-copy && wl-copy --primary"
bind -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel "wl-copy && wl-copy --primary"
# Uncomment if you want yanks to also travel over SSH via OSC52.
# Locally redundant with wl-copy above.
#set -g set-clipboard on
# Kill commands
bind q kill-window
bind Q kill-session
# Drop the `confirm-before -p "..."` part for the old single keystroke.
bind q confirm-before -p "kill window #W? (y/n)" kill-window
bind Q confirm-before -p "kill session #S? (y/n)" kill-session
# Bars
# This is the nord-tmux status line. #{prefix_highlight} came from that
# theme's tmux-prefix-highlight integration -- a plugin you never loaded,
# so the token expanded to nothing. tmux can do it natively. Commas inside
# #{?...} are argument separators and have to be escaped as #, hence the
# look of the style spec.
set -g status-left-length 24
set -g status-left "#[fg=black,bg=blue,bold] #{=20:session_name} #[fg=blue,bg=black,nobold,noitalics,nounderscore]"
set -g status-right "#{prefix_highlight}#[fg=brightblack,bg=black,nobold,noitalics,nounderscore]#[fg=white,bg=brightblack] %Y-%m-%d #[fg=white,bg=brightblack,nobold,noitalics,nounderscore]#[fg=white,bg=brightblack] %H:%M #[fg=cyan,bg=brightblack,nobold,noitalics,nounderscore]#[fg=black,bg=cyan,bold] #H "
set -g status-left "#[fg=black,bg=blue,bold] #{=20:session_name} #[fg=blue,bg=black,nobold,noitalics,nounderscore]${sep.right}"
set -g status-right "#{?client_prefix,#[fg=black#,bg=yellow#,bold] ^A ,}#[fg=brightblack,bg=black,nobold,noitalics,nounderscore]${sep.left}#[fg=white,bg=brightblack] %Y-%m-%d #[fg=white,bg=brightblack,nobold,noitalics,nounderscore]${sep.leftThin}#[fg=white,bg=brightblack] %H:%M #[fg=cyan,bg=brightblack,nobold,noitalics,nounderscore]${sep.left}#[fg=black,bg=cyan,bold] #H "
# Windows
set -g window-status-format "#[fg=black,bg=brightblack,nobold,noitalics,nounderscore] #[fg=white,bg=brightblack]#I #[fg=white,bg=brightblack,nobold,noitalics,nounderscore] #[fg=white,bg=brightblack]#W #F #[fg=brightblack,bg=black,nobold,noitalics,nounderscore]"
set -g window-status-current-format "#[fg=black,bg=cyan,nobold,noitalics,nounderscore] #[fg=black,bg=cyan]#I #[fg=black,bg=cyan,nobold,noitalics,nounderscore] #[fg=black,bg=cyan]#W #F #[fg=cyan,bg=black,nobold,noitalics,nounderscore]"
set -g window-status-format "#[fg=black,bg=brightblack,nobold,noitalics,nounderscore]${sep.right} #[fg=white,bg=brightblack]#I #[fg=white,bg=brightblack,nobold,noitalics,nounderscore]${sep.rightThin} #[fg=white,bg=brightblack]#W #F #[fg=brightblack,bg=black,nobold,noitalics,nounderscore]${sep.right}"
set -g window-status-current-format "#[fg=black,bg=cyan,nobold,noitalics,nounderscore]${sep.right} #[fg=black,bg=cyan]#I #[fg=black,bg=cyan,nobold,noitalics,nounderscore]${sep.rightThin} #[fg=black,bg=cyan]#W #F #[fg=cyan,bg=black,nobold,noitalics,nounderscore]${sep.right}"
set -g window-status-separator ""
'';
};
+1 -1
View File
@@ -17,7 +17,7 @@
};
# kernel options
boot.kernelParams = [ "quiet" "acpi.debug_level=0"];
boot.kernelParams = [ "quiet" "acpi.debug_level=0" ];
boot.kernelPackages = pkgs.linuxPackages_latest;
boot.consoleLogLevel = 2;