Compare commits

..

8 commits

Author SHA1 Message Date
fe28a2e9b8
feat: add hyperfine 2025-05-22 21:54:19 -04:00
82c044d733
feat: add zoxide 2025-05-22 21:54:19 -04:00
c0ca8281f3
feat: auto zellij script 2025-05-22 21:54:16 -04:00
3295aa7421
chore: update 2025-05-22 20:52:31 -04:00
13a2492539
feat: zsh vi mode plugin 2025-05-22 20:51:25 -04:00
3895760029
feat: add more file systems 2025-05-22 20:51:25 -04:00
5b991350c7
fix: remove boot.initrd.systemd.strip 2025-05-22 20:51:25 -04:00
138ba047b7
chore: update nix, stable channel 2025-05-22 20:51:22 -04:00
7 changed files with 151 additions and 82 deletions

82
flake.lock generated
View file

@ -22,11 +22,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1747274630, "lastModified": 1747742835,
"narHash": "sha256-87RJwXbfOHyzTB9LYagAQ6vOZhszCvd8Gvudu+gf3qo=", "narHash": "sha256-kYL4GCwwznsypvsnA20oyvW8zB/Dvn6K5G/tgMjVMT4=",
"owner": "nix-community", "owner": "nix-community",
"repo": "disko", "repo": "disko",
"rev": "ec7c109a4f794fce09aad87239eab7f66540b888", "rev": "df522e787fdffc4f32ed3e1fca9ed0968a384d62",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -371,11 +371,11 @@
}, },
"master": { "master": {
"locked": { "locked": {
"lastModified": 1747542820, "lastModified": 1747961295,
"narHash": "sha256-GaOZntlJ6gPPbbkTLjbd8BMWaDYafhuuYRNrxCGnPJw=", "narHash": "sha256-4zIgtNabrwQL0MjaYrvBfrunVwoESjkwVXKuL943uQU=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "292fa7d4f6519c074f0a50394dbbe69859bb6043", "rev": "9f90d00a4fdd6daad5b906dd3fac4991023e4c59",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -387,11 +387,11 @@
}, },
"mnw": { "mnw": {
"locked": { "locked": {
"lastModified": 1747507276, "lastModified": 1747586468,
"narHash": "sha256-mGxeIGNqgY2r2Ji2hZ8cpy5lLFwnkUq4XVHQeDMiMsE=", "narHash": "sha256-hqE5MB6fmuIAJnvDgA7UTKkaQHJr3PCWzHEL1i4z3PU=",
"owner": "gerg-l", "owner": "gerg-l",
"repo": "mnw", "repo": "mnw",
"rev": "74bb7dcc52df51337fde52c695216b64b2270a06", "rev": "9dd8fc25ba906915540f762503974406e2d62ba1",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -411,11 +411,11 @@
"treefmt-nix": "treefmt-nix" "treefmt-nix": "treefmt-nix"
}, },
"locked": { "locked": {
"lastModified": 1747475604, "lastModified": 1747554936,
"narHash": "sha256-QQI3EaXwqTiWAz6JCV1rD9g7uJzkhOK8gQpawVznYEs=", "narHash": "sha256-LBFEVTt3JISA/HDHznJanvlNvKllNfILr1nfI8KZmVM=",
"owner": "nix-community", "owner": "nix-community",
"repo": "neovim-nightly-overlay", "repo": "neovim-nightly-overlay",
"rev": "a389c17ddc7b05050c35f9c1cd6b58a5d2ef720c", "rev": "5a732bf3edb47767a25c3b05436e4c21f91edf91",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -427,11 +427,11 @@
"neovim-src": { "neovim-src": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1747473845, "lastModified": 1747523215,
"narHash": "sha256-jmjtmuIjIKuGWyNenamx6gaWPSVkD84TxngP6hX8Auc=", "narHash": "sha256-55RIMak4EwDaLdNTkM+4d3LjC90wlkNRaaG8DupK3AM=",
"owner": "neovim", "owner": "neovim",
"repo": "neovim", "repo": "neovim",
"rev": "8e8f4523c687cac4e966cb78856f73706dcec37d", "rev": "5661f74ab2a6ef0c497ef2ea49bc58ea89b6ab6b",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -452,16 +452,16 @@
"nixpkgs-regression": "nixpkgs-regression" "nixpkgs-regression": "nixpkgs-regression"
}, },
"locked": { "locked": {
"lastModified": 1745587317, "lastModified": 1747465671,
"narHash": "sha256-h9v4lIpLYhMY5z9QzAS2rSDz8ntHpqY51Ksk59lGdTA=", "narHash": "sha256-d1M0YTNodjKSzqVxMWL9Ey9CZGuhZwdbvNmTt3ytwJM=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nix", "repo": "nix",
"rev": "3f811c237312a91cfe9314a215ebb4b159bccb23", "rev": "39f9f5d1b6f6120b2fba929b9a5faa0ec24e7746",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "NixOS", "owner": "NixOS",
"ref": "3f811c237312a91cfe9314a215ebb4b159bccb23", "ref": "39f9f5d1b6f6120b2fba929b9a5faa0ec24e7746",
"repo": "nix", "repo": "nix",
"type": "github" "type": "github"
} }
@ -531,11 +531,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1742568034, "lastModified": 1747663185,
"narHash": "sha256-QaMEhcnscfF2MqB7flZr+sLJMMYZPnvqO4NYf9B4G38=", "narHash": "sha256-Obh50J+O9jhUM/FgXtI3he/QRNiV9+J53+l+RlKSaAk=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nixos-generators", "repo": "nixos-generators",
"rev": "42ee229088490e3777ed7d1162cb9e9d8c3dbb11", "rev": "ee07ba0d36c38e9915c55d2ac5a8fb0f05f2afcc",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -631,11 +631,11 @@
"systems": "systems" "systems": "systems"
}, },
"locked": { "locked": {
"lastModified": 1747542968, "lastModified": 1747589429,
"narHash": "sha256-VgGfVMEC7BQJBoC4okHua+n05Davm4SdUeg0l7PSymQ=", "narHash": "sha256-kP7iy92VBgkw/rrq4DSSU4vGNZ1ApIx2+FKePugIemg=",
"owner": "Gerg-L", "owner": "Gerg-L",
"repo": "nvim-flake", "repo": "nvim-flake",
"rev": "929d875993a4d385387c097f69754041fcefd9a6", "rev": "c9fd60cc6bb5913af839c42108416d26b8b2fd50",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -753,11 +753,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1746485181, "lastModified": 1747603214,
"narHash": "sha256-PxrrSFLaC7YuItShxmYbMgSuFFuwxBB+qsl9BZUnRvg=", "narHash": "sha256-lAblXm0VwifYCJ/ILPXJwlz0qNY07DDYdLD+9H+Wc8o=",
"owner": "mic92", "owner": "mic92",
"repo": "sops-nix", "repo": "sops-nix",
"rev": "e93ee1d900ad264d65e9701a5c6f895683433386", "rev": "8d215e1c981be3aa37e47aeabd4e61bb069548fd",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -774,11 +774,11 @@
"systems": "systems_2" "systems": "systems_2"
}, },
"locked": { "locked": {
"lastModified": 1747355848, "lastModified": 1747607404,
"narHash": "sha256-WpOTfGuObhpaI38+uHgaOwnMAjHMrdLrfs6D35fKwjk=", "narHash": "sha256-xj2Ji+rE+oYjf0BsTDT7K/StnYuZQK9MTbX8U1DUcC0=",
"owner": "Gerg-L", "owner": "Gerg-L",
"repo": "spicetify-nix", "repo": "spicetify-nix",
"rev": "a2bc0d49449fc61ca2eb364d6189179059394483", "rev": "8c1be0e5e9a7f35ccd6f7b10bcfa08f2734dad91",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -789,16 +789,16 @@
}, },
"stable": { "stable": {
"locked": { "locked": {
"lastModified": 1747335874, "lastModified": 1747825515,
"narHash": "sha256-IKKIXTSYJMmUtE+Kav5Rob8SgLPnfnq4Qu8LyT4gdqQ=", "narHash": "sha256-BWpMQymVI73QoKZdcVCxUCCK3GNvr/xa2Dc4DM1o2BE=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "ba8b70ee098bc5654c459d6a95dfc498b91ff858", "rev": "cd2812de55cf87df88a9e09bf3be1ce63d50c1a6",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "NixOS", "owner": "NixOS",
"ref": "nixos-24.11", "ref": "nixos-25.05",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
} }
@ -810,11 +810,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1737334952, "lastModified": 1747956973,
"narHash": "sha256-R/TDnBhkOFRiUqJaQel93in+w9SuVMBKnukt05rbVJY=", "narHash": "sha256-L2El+D70h0vZhHmaERqAw8fZaNvwPZZIIKxamDQfMU4=",
"owner": "Gerg-L", "owner": "Gerg-L",
"repo": "suckless", "repo": "suckless",
"rev": "a1cc74ee4ab1def59cc9cd131a86b5769e144c9e", "rev": "f144825dd53f99203b05d3af31475e7431e55b1c",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -892,11 +892,11 @@
}, },
"unstable": { "unstable": {
"locked": { "locked": {
"lastModified": 1747327360, "lastModified": 1747744144,
"narHash": "sha256-LSmTbiq/nqZR9B2t4MRnWG7cb0KVNU70dB7RT4+wYK4=", "narHash": "sha256-W7lqHp0qZiENCDwUZ5EX/lNhxjMdNapFnbErcbnP11Q=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "e06158e58f3adee28b139e9c2bcfcc41f8625b46", "rev": "2795c506fe8fb7b03c36ccb51f75b6df0ab2553f",
"type": "github" "type": "github"
}, },
"original": { "original": {

View file

@ -17,14 +17,14 @@
type = "github"; type = "github";
owner = "NixOS"; owner = "NixOS";
repo = "nixpkgs"; repo = "nixpkgs";
ref = "nixos-24.11"; ref = "nixos-25.05";
}; };
#nix itself #nix itself
nix = { nix = {
type = "github"; type = "github";
owner = "NixOS"; owner = "NixOS";
repo = "nix"; repo = "nix";
ref = "3f811c237312a91cfe9314a215ebb4b159bccb23"; ref = "39f9f5d1b6f6120b2fba929b9a5faa0ec24e7746";
inputs.nixpkgs.follows = "stable"; inputs.nixpkgs.follows = "stable";
}; };
#other #other

View file

@ -5,11 +5,7 @@
}: }:
{ {
boot = { boot.kernelPackages = pkgs.linuxPackagesFor (
# For linuxManualConfig to work: https://github.com/NixOS/nixpkgs/issues/368249
initrd.systemd.strip = false;
kernelPackages = pkgs.linuxPackagesFor (
let let
version = "6.14.5"; version = "6.14.5";
src = pkgs.fetchurl { src = pkgs.fetchurl {
@ -40,5 +36,4 @@
}; };
}) })
); );
};
} }

View file

@ -5292,16 +5292,16 @@ CONFIG_BUFFER_HEAD=y
CONFIG_LEGACY_DIRECT_IO=y CONFIG_LEGACY_DIRECT_IO=y
# CONFIG_EXT2_FS is not set # CONFIG_EXT2_FS is not set
# CONFIG_EXT3_FS is not set # CONFIG_EXT3_FS is not set
# CONFIG_EXT4_FS is not set CONFIG_EXT4_FS=y
# CONFIG_REISERFS_FS is not set # CONFIG_REISERFS_FS is not set
# CONFIG_JFS_FS is not set # CONFIG_JFS_FS is not set
# CONFIG_XFS_FS is not set CONFIG_XFS_FS=y
# CONFIG_GFS2_FS is not set # CONFIG_GFS2_FS is not set
# CONFIG_OCFS2_FS is not set # CONFIG_OCFS2_FS is not set
# CONFIG_BTRFS_FS is not set CONFIG_BTRFS_FS is not set
# CONFIG_NILFS2_FS is not set # CONFIG_NILFS2_FS is not set
# CONFIG_F2FS_FS is not set # CONFIG_F2FS_FS is not set
# CONFIG_BCACHEFS_FS is not set CONFIG_BCACHEFS_FS=y
# CONFIG_ZONEFS_FS is not set # CONFIG_ZONEFS_FS is not set
# CONFIG_FS_DAX is not set # CONFIG_FS_DAX is not set
CONFIG_FS_POSIX_ACL=y CONFIG_FS_POSIX_ACL=y

View file

@ -43,6 +43,7 @@
nixfmt-rfc-style nixfmt-rfc-style
zellij zellij
tidal-hifi tidal-hifi
hyperfine
#prusa-slicer # 3D printer slicer #prusa-slicer # 3D printer slicer
# QMK configuration # QMK configuration
@ -60,7 +61,10 @@
boot = { boot = {
binfmt.emulatedSystems = [ "aarch64-linux" ]; binfmt.emulatedSystems = [ "aarch64-linux" ];
supportedFilesystems.ntfs = true; supportedFilesystems = {
ext4 = true;
ntfs = true;
};
initrd = { initrd = {
availableKernelModules = [ availableKernelModules = [
"nvme" "nvme"
@ -127,6 +131,29 @@
silent = true; silent = true;
}; };
zoxide.enable = true;
zsh = {
shellAliases.cd = "z";
interactiveShellInit =
let
monitorScript = pkgs.replaceVarsWith {
src = ./monitor.ps;
replacements = builtins.mapAttrs (_: lib.getExe) {
inherit (pkgs) perl xdotool;
};
isExecutable = true;
};
in
''
if [[ -z "$ZELLIJ" ]]; then
MONITOR="$(${monitorScript} || true)"
zellij attach -c "''${MONITOR:+"$MONITOR@"}$USER"
exit
fi
'';
};
nix-index = { nix-index = {
enable = true; enable = true;
package = nix-index-database.packages.nix-index-with-db; package = nix-index-database.packages.nix-index-with-db;

View file

@ -0,0 +1,45 @@
#!@perl@
use strict;
my %M; # hash to hold keys from 'xdotool getmouselocation --shell'
my $pipe; # file handle for the pipes we're going to open
# get the current cursor location into $M{X} and $M{Y}
open($pipe, "-|", qw(@xdotool@ getmouselocation --shell)) ||
die "couldn't open pipe from xdotool: $!\n";
while(<$pipe>) {
chomp;
my($key, $val) = split /=/;
$M{$key} = $val;
};
close($pipe);
# compare mouse location to monitor co-ordinates
open($pipe, "-|", "xrandr") ||
die "couldn't open pipe from xrandr: $!\n";
while(<$pipe>) {
my ($display, $width, $height, $x_offset, $y_offset);
next unless m/ connected /;
my @F = split;
$display = $F[0];
# co-ordinates are on fourth field (F[3]) on the primary display
# or on third field (F[2]) on non-primary displays. Perl arrays
# start from zero, not one (same as in bash).
if ($F[2] eq "primary") {
($width, $height, $x_offset, $y_offset) = split /[x+]/, $F[3];
} else {
($width, $height, $x_offset, $y_offset) = split /[x+]/, $F[2];
};
if ($M{X} >= $x_offset && $M{X} <= $width + $x_offset &&
$M{Y} >= $y_offset && $M{Y} <= $height + $y_offset) {
print "$display\n";
last;
};
};
close($pipe);

View file

@ -16,6 +16,8 @@
bindkey '^[[B' history-substring-search-down bindkey '^[[B' history-substring-search-down
### fzf-tab ### ### fzf-tab ###
source ${pkgs.zsh-fzf-tab}/share/fzf-tab/fzf-tab.plugin.zsh source ${pkgs.zsh-fzf-tab}/share/fzf-tab/fzf-tab.plugin.zsh
### vi-mode ###
source ${pkgs.zsh-vi-mode}/share/zsh-vi-mode/zsh-vi-mode.plugin.zsh
### transient shell prompt ### ### transient shell prompt ###
zle-line-init() { zle-line-init() {
emulate -L zsh emulate -L zsh