Compare commits

...

4 Commits

Author SHA1 Message Date
a9149d86c7 chore(pkgs): drop jj-starship 2026-02-06 21:37:23 +08:00
bdddabcd52 feat: shpool 2026-02-06 21:37:14 +08:00
b2860d63c5 chore: update flake.lock; update noctalia-shell 2026-02-06 16:23:43 +08:00
dc15d79266 feat: use ouch 2026-02-06 16:23:43 +08:00
11 changed files with 194 additions and 132 deletions

134
flake.lock generated
View File

@@ -11,11 +11,11 @@
"treefmt-nix": "treefmt-nix"
},
"locked": {
"lastModified": 1769185456,
"narHash": "sha256-GcliRryigbTJ0cYNHZyJQ60qgejwFp5eOwNm8WZFTwc=",
"lastModified": 1769790779,
"narHash": "sha256-hnO5UEVeqixZaLyEwNeBZ53lwP1mvTBqLljt1wgSm6s=",
"owner": "linyinfeng",
"repo": "angrr",
"rev": "e4beb21d3e2722a0e5241382e43b94be989d9b6e",
"rev": "dd7a8d9b02f145f78b5dea85717d74dfb8bf5ef0",
"type": "github"
},
"original": {
@@ -130,11 +130,11 @@
]
},
"locked": {
"lastModified": 1769432988,
"narHash": "sha256-q4arZjXnLiuMnLzO972lrXIGdzyGb4DGaIt69CcCYdE=",
"lastModified": 1769946009,
"narHash": "sha256-cjPsPx3qlP7RW78lcGJoTP/B6yqY6BJJjwT7QUg8ByY=",
"owner": "catppuccin",
"repo": "nix",
"rev": "d7a8632c0d8d144478aac1a8c8d5083b770cbb03",
"rev": "ff59ad5085b7d71705ea1f019c02b08dfe40d9c8",
"type": "github"
},
"original": {
@@ -193,11 +193,11 @@
"rust-analyzer-src": "rust-analyzer-src"
},
"locked": {
"lastModified": 1769756857,
"narHash": "sha256-GqbD7+WVvBD/kpcwOXz4EFuKcRI3qoGebKmzxjS7EY0=",
"lastModified": 1770275419,
"narHash": "sha256-g2wfAevB/IFF6Y1C74TbhRERlUVFVGQsgGp/lLR4lQM=",
"owner": "nix-community",
"repo": "fenix",
"rev": "6c51b42ac2c25328067956ff980572482786d20c",
"rev": "aa3fbaab2bdc73c5c1e25a124c272dde295bc957",
"type": "github"
},
"original": {
@@ -298,11 +298,11 @@
]
},
"locked": {
"lastModified": 1768135262,
"narHash": "sha256-PVvu7OqHBGWN16zSi6tEmPwwHQ4rLPU9Plvs8/1TUBY=",
"lastModified": 1769996383,
"narHash": "sha256-AnYjnFWgS49RlqX7LrC4uA+sCCDBj0Ry/WOJ5XWAsa0=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "80daad04eddbbf5a4d883996a73f3f542fa437ac",
"rev": "57928607ea566b5db3ad13af0e57e921e6b12381",
"type": "github"
},
"original": {
@@ -544,11 +544,11 @@
]
},
"locked": {
"lastModified": 1769776025,
"narHash": "sha256-70a1kVC08AMTvPc7iqQsJbbD4Y1fukakMVudz4oY9SM=",
"lastModified": 1770318660,
"narHash": "sha256-yFVde8QZK7Dc0Xa8eQDsmxLX4NJNfL1NKfctSyiQgMY=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "0fba737f8d5571d41467f3d99a878e11b8c0f0f0",
"rev": "471e6a065f9efed51488d7c51a9abbd387df91b8",
"type": "github"
},
"original": {
@@ -587,11 +587,11 @@
]
},
"locked": {
"lastModified": 1768434960,
"narHash": "sha256-cJbFn17oyg6qAraLr+NVeNJrXsrzJdrudkzI4H2iTcg=",
"lastModified": 1769872935,
"narHash": "sha256-07HMIGQ/WJeAQJooA7Kkg1SDKxhAiV6eodvOwTX6WKI=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "b4d88c9ac42ae1a745283f6547701da43b6e9f9b",
"rev": "f4ad5068ee8e89e4a7c2e963e10dd35cd77b37b7",
"type": "github"
},
"original": {
@@ -706,11 +706,11 @@
"xwayland-satellite-unstable": "xwayland-satellite-unstable"
},
"locked": {
"lastModified": 1769714858,
"narHash": "sha256-IHHAKi8yMonZZmVHUQxew1V9UfLBG8Um9PLbNPx3OA4=",
"lastModified": 1770271466,
"narHash": "sha256-Pyc3p/V7ruQplnU31r+umLSNlSGwOOoHzhWfzfLmiiw=",
"owner": "sodiboo",
"repo": "niri-flake",
"rev": "dfbb02586582d5332d0c06653583b9d743bce081",
"rev": "76e1d271485b00a5d98aeb1dd76408594741c039",
"type": "github"
},
"original": {
@@ -739,11 +739,11 @@
"niri-unstable": {
"flake": false,
"locked": {
"lastModified": 1769577126,
"narHash": "sha256-v9vz9Rj4MGwPuhGELdvpRKl2HH+xvkgat6VwL0L86Fg=",
"lastModified": 1770092965,
"narHash": "sha256-++K1ftjwPqMJzIO8t2GsdkYQzC2LLA5A1w21Uo+SLz4=",
"owner": "YaLTeR",
"repo": "niri",
"rev": "f30db163b5748e8cf95c05aba77d0d3736f40543",
"rev": "189917c93329c86ac2ddd89f459c26a028d590ba",
"type": "github"
},
"original": {
@@ -883,11 +883,11 @@
},
"nixpkgs-master": {
"locked": {
"lastModified": 1769777176,
"narHash": "sha256-QYVHxk0OeFld+OtcSwBpOQ3c9MD/05hYXuIeIVo7Uh0=",
"lastModified": 1770351005,
"narHash": "sha256-ujnoVrnl2aGAbX6ucxhvMw3sy71Uzg9HhvimofsEP30=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "f08748ce7761b63fba645434b971ae449ab8106c",
"rev": "9e7bfbaaeb5ec633aa66fd70b2260105b42de455",
"type": "github"
},
"original": {
@@ -899,11 +899,11 @@
},
"nixpkgs-stable": {
"locked": {
"lastModified": 1769598131,
"narHash": "sha256-e7VO/kGLgRMbWtpBqdWl0uFg8Y2XWFMdz0uUJvlML8o=",
"lastModified": 1770136044,
"narHash": "sha256-tlFqNG/uzz2++aAmn4v8J0vAkV3z7XngeIIB3rM3650=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "fa83fd837f3098e3e678e6cf017b2b36102c7211",
"rev": "e576e3c9cf9bad747afcddd9e34f51d18c855b4e",
"type": "github"
},
"original": {
@@ -915,11 +915,11 @@
},
"nixpkgs-stable_2": {
"locked": {
"lastModified": 1769771256,
"narHash": "sha256-h4DqqTizWuAe8r+TRka5l5BtkUSHkblYJYUwfCFOZrs=",
"lastModified": 1770351774,
"narHash": "sha256-VcUXnt9v0D2zDhoZPZ/FvVEDysVhw1Rcx2nWqsT/8ZE=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "ee19cd9893d4317475d420634f26305a4ac1139b",
"rev": "8efe9f4c8c53130759bff5e8b5e9fa3aa645d9e2",
"type": "github"
},
"original": {
@@ -931,11 +931,11 @@
},
"nixpkgs-unstable": {
"locked": {
"lastModified": 1769461804,
"narHash": "sha256-msG8SU5WsBUfVVa/9RPLaymvi5bI8edTavbIq3vRlhI=",
"lastModified": 1770197578,
"narHash": "sha256-AYqlWrX09+HvGs8zM6ebZ1pwUqjkfpnv8mewYwAo+iM=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "bfc1b8a4574108ceef22f02bafcf6611380c100d",
"rev": "00c21e4c93d963c50d4c0c89bfa84ed6e0694df2",
"type": "github"
},
"original": {
@@ -995,11 +995,11 @@
},
"nixpkgs_5": {
"locked": {
"lastModified": 1769461804,
"narHash": "sha256-msG8SU5WsBUfVVa/9RPLaymvi5bI8edTavbIq3vRlhI=",
"lastModified": 1770197578,
"narHash": "sha256-AYqlWrX09+HvGs8zM6ebZ1pwUqjkfpnv8mewYwAo+iM=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "bfc1b8a4574108ceef22f02bafcf6611380c100d",
"rev": "00c21e4c93d963c50d4c0c89bfa84ed6e0694df2",
"type": "github"
},
"original": {
@@ -1016,16 +1016,16 @@
]
},
"locked": {
"lastModified": 1769661167,
"narHash": "sha256-SHavMqGRv78sND/wQ53OhBBE2VBhgE3bSNRxxo5z7FE=",
"lastModified": 1770252745,
"narHash": "sha256-km0M26aaw1+NzBtbmXNtqcEnnOpHaCeGW20vk/EkSw8=",
"owner": "noctalia-dev",
"repo": "noctalia-shell",
"rev": "790572cd244f3ddf542668ea0da25ff6db07dd78",
"rev": "c9444a5429992d0b8eba0018cdcb1614f318eea1",
"type": "github"
},
"original": {
"owner": "noctalia-dev",
"ref": "v4.2.5",
"ref": "v4.3.3",
"repo": "noctalia-shell",
"type": "github"
}
@@ -1105,11 +1105,11 @@
"rust-analyzer-src": {
"flake": false,
"locked": {
"lastModified": 1769703626,
"narHash": "sha256-Wqj6eSydSGJdFGj5SiADEms+GJnyJoNo6i7JDRM+n+w=",
"lastModified": 1770200365,
"narHash": "sha256-Z3V5v8tSwZ3l4COVSt0b6Av0wZwTUf7Qj0SQ2/Z5RX0=",
"owner": "rust-lang",
"repo": "rust-analyzer",
"rev": "2e3535826072546f88b746633db65f453f783028",
"rev": "1433910d1ffaff2c7a5fb7ba701f82ea578a99e3",
"type": "github"
},
"original": {
@@ -1126,11 +1126,11 @@
]
},
"locked": {
"lastModified": 1769513611,
"narHash": "sha256-qbRBdvTFaHlOD4TFQieMIG9WkcfDj4038xOebWSq87c=",
"lastModified": 1770198807,
"narHash": "sha256-OCGYdTC5C0DYuU4IHoRqKDaujqJDlFcCRGyRcXttza0=",
"owner": "Mic92",
"repo": "sops-nix",
"rev": "f4975025895c336a7af6eeaebe13bfe6ad01ac27",
"rev": "72b8016fca4e3994ab9f6812bebadeea503f347b",
"type": "github"
},
"original": {
@@ -1161,11 +1161,11 @@
"tinted-zed": "tinted-zed"
},
"locked": {
"lastModified": 1769728672,
"narHash": "sha256-/sCPdG7t3r0l8A16+siLKmFScoHkG0oPDM1q0CZgnZ0=",
"lastModified": 1770308951,
"narHash": "sha256-lrgu12dJyXkJ/5/9n4nBg7L9kjIZ8WL2Pub/598bdHE=",
"owner": "danth",
"repo": "stylix",
"rev": "861c3c92a9f865d5adae1c1917a6c383170eff13",
"rev": "aa0272b6e0a96987885bb3738a43c02bfdeba1d5",
"type": "github"
},
"original": {
@@ -1181,11 +1181,11 @@
]
},
"locked": {
"lastModified": 1768260017,
"narHash": "sha256-r1Y+TQLEC4dNxktRaDpP8vnWOha0MFrYsfrqPhV85BA=",
"lastModified": 1769878625,
"narHash": "sha256-cOLzS70XjXcxPi4vkTjbvSBOZ5o+CmzkLXX/AgtJMRQ=",
"owner": "Kirottu",
"repo": "system76-scheduler-niri",
"rev": "0ccb6c4d696c8db7c73153d1dcc2b2a2b2a37a84",
"rev": "9fe30d78748bd8f655c3f8ec8b3ce8cd25577182",
"type": "github"
},
"original": {
@@ -1312,11 +1312,11 @@
]
},
"locked": {
"lastModified": 1769691507,
"narHash": "sha256-8aAYwyVzSSwIhP2glDhw/G0i5+wOrren3v6WmxkVonM=",
"lastModified": 1770228511,
"narHash": "sha256-wQ6NJSuFqAEmIg2VMnLdCnUc0b7vslUohqqGGD+Fyxk=",
"owner": "numtide",
"repo": "treefmt-nix",
"rev": "28b19c5844cc6e2257801d43f2772a4b4c050a1b",
"rev": "337a4fe074be1042a35086f15481d763b8ddc0e7",
"type": "github"
},
"original": {
@@ -1333,11 +1333,11 @@
]
},
"locked": {
"lastModified": 1768158989,
"narHash": "sha256-67vyT1+xClLldnumAzCTBvU0jLZ1YBcf4vANRWP3+Ak=",
"lastModified": 1769691507,
"narHash": "sha256-8aAYwyVzSSwIhP2glDhw/G0i5+wOrren3v6WmxkVonM=",
"owner": "numtide",
"repo": "treefmt-nix",
"rev": "e96d59dff5c0d7fddb9d113ba108f03c3ef99eca",
"rev": "28b19c5844cc6e2257801d43f2772a4b4c050a1b",
"type": "github"
},
"original": {
@@ -1366,11 +1366,11 @@
"xwayland-satellite-unstable": {
"flake": false,
"locked": {
"lastModified": 1769713942,
"narHash": "sha256-0BtCSO2qzYK/akRDsERqRVLknCYD3FYErc+szreSHUo=",
"lastModified": 1770167989,
"narHash": "sha256-rE2WTxKHe3KMG/Zr5YUNeKHkZfWwSFl7yJXrOKnunHg=",
"owner": "Supreeeme",
"repo": "xwayland-satellite",
"rev": "37ec78ee26e158b71f42e113e0e7dd9d5eb6bdb0",
"rev": "0947c4685f6237d4f8045482ce0c62feab40b6c4",
"type": "github"
},
"original": {
@@ -1387,11 +1387,11 @@
]
},
"locked": {
"lastModified": 1769748063,
"narHash": "sha256-H5XCtJMS3RQKHeaS+axX7CAJ0WwuTUYGy4uzLFSm0Xc=",
"lastModified": 1770353257,
"narHash": "sha256-on4vg7ctpMPzKWcvXPtV095aal6KUPDSKV9+I8HhQtY=",
"owner": "0xc000022070",
"repo": "zen-browser-flake",
"rev": "efdd1e683da9412f515b9bd42c37861978c2fd3a",
"rev": "6242228ddf448e775b3dd8f2b7a78c3856e70d52",
"type": "github"
},
"original": {

View File

@@ -81,7 +81,7 @@
};
niri.url = "github:sodiboo/niri-flake";
noctalia = {
url = "github:noctalia-dev/noctalia-shell/v4.2.5";
url = "github:noctalia-dev/noctalia-shell/v4.3.3";
inputs.nixpkgs.follows = "nixpkgs";
};
zen.inputs.nixpkgs.follows = "nixpkgs";

View File

@@ -14,6 +14,9 @@ in
monitor.all.enable = true;
shell.all.enable = true;
vcs.all.enable = true;
shpool.enable = true;
tmux.enable = true;
};
};
}

View File

@@ -30,6 +30,7 @@ in
xz
p7zip
unrar-free
ouch
pciutils
usbutils
@@ -51,6 +52,13 @@ in
".config/television/cable"
];
my.hm = {
programs.fish.shellAliases = {
x = "ouch d";
};
programs.zsh.shellAliases = {
x = "ouch d";
};
home.packages = with pkgs; [
# keep-sorted start
aria2
@@ -67,26 +75,6 @@ in
typos
# keep-sorted end
];
programs.tmux = {
enable = true;
extraConfig = ''
set-option -g mouse on
set-option -a terminal-features ",xterm-256color:RGB,focus,clipboard,usstyle"
'';
plugins = [
(pkgs.tmuxPlugins.mkTmuxPlugin {
pluginName = "tokyo-night-tmux";
rtpFilePath = "tokyo-night.tmux";
version = "legacy";
src = pkgs.fetchFromGitHub {
owner = "janoamaral";
repo = "tokyo-night-tmux";
rev = "16469dfad86846138f594ceec780db27039c06cd";
hash = "sha256-EKCgYan0WayXnkSb2fDJxookdBLW0XBKi2hf/YISwJE=";
};
})
];
};
programs.tealdeer = {
enable = true;
enableAutoUpdates = true;

View File

@@ -1,7 +1,6 @@
{
config,
lib,
pkgs,
...
}:
let
@@ -30,17 +29,6 @@ in
programs.starship.enableFishIntegration = false;
programs.fish = {
enable = true;
plugins = [
{
name = "extract";
src = pkgs.fetchFromGitHub {
owner = "hexclover";
repo = "fish-extract-ng";
tag = "v0.1";
hash = "sha256-yef5NX4HdZ3ab/2AzNrvvhi0CbeTvXYKZmyH76gIpyk=";
};
}
];
shellAliases = {
la = "lsd -lah";
ls = "lsd";

View File

@@ -5,17 +5,26 @@ in
{
options.my.cli.shell.starship = {
enable = lib.mkEnableOption "starship prompt";
format = lib.mkOption {
type = with lib.types; listOf singleLineStr;
};
};
config = lib.mkIf cfg.enable {
config = lib.mkMerge [
{
my.cli.shell.starship.format = lib.mkOrder 0 [ "$all" ];
}
(lib.mkIf cfg.enable {
my.hm = {
programs.starship = {
enable = true;
settings = lib.recursiveUpdate (with builtins; fromTOML (readFile ./starship-preset.toml)) {
add_newline = false;
nix_shell.disabled = true;
format = lib.concatStringsSep "" cfg.format;
};
};
};
};
})
];
}

View File

@@ -50,7 +50,6 @@ in
];
};
shellAliases = {
x = "extract";
ls = "lsd";
svim = "doasedit";
nf = "fastfetch";

41
modules/cli/shpool.nix Normal file
View File

@@ -0,0 +1,41 @@
{
config,
lib,
...
}:
let
cfg = config.my.cli.shpool;
in
{
options.my.cli.shpool = {
enable = lib.mkEnableOption "shpool";
};
config = lib.mkIf cfg.enable {
my.hm = {
services.shpool = {
enable = true;
systemd = true;
settings = {
motd = "never";
prompt_prefix = "";
forward_env = [ "PATH" ];
};
};
# https://github.com/starship/starship/discussions/7260
# programs.starship = {
# settings = {
# custom.shpool = {
# description = "Display current shpool session name";
# when = ''test -n "$SHPOOL_SESSION_NAME"'';
# command = "echo $SHPOOL_SESSION_NAME";
# symbol = " ";
# style = "fg:#dea584";
# format = "[$symbol $output]($style)";
# };
# };
# };
};
# my.cli.shell.starship.format = [ "$starship$character" ];
};
}

53
modules/cli/tmux.nix Normal file
View File

@@ -0,0 +1,53 @@
{
config,
lib,
pkgs,
...
}:
let
cfg = config.my.cli.tmux;
in
{
options.my.cli.tmux = {
enable = lib.mkEnableOption "tmux";
};
config = lib.mkIf cfg.enable {
my.hm = {
programs.tmux = {
enable = true;
extraConfig = ''
set-option -g mouse on
set-option -a terminal-features ",xterm-256color:RGB,focus,clipboard,usstyle"
'';
plugins = [
(pkgs.tmuxPlugins.mkTmuxPlugin {
pluginName = "tokyo-night-tmux";
rtpFilePath = "tokyo-night.tmux";
version = "legacy";
src = pkgs.fetchFromGitHub {
owner = "janoamaral";
repo = "tokyo-night-tmux";
rev = "16469dfad86846138f594ceec780db27039c06cd";
hash = "sha256-EKCgYan0WayXnkSb2fDJxookdBLW0XBKi2hf/YISwJE=";
};
})
];
};
# https://github.com/starship/starship/discussions/7260
# programs.starship = {
# settings = {
# custom.tmux = {
# description = "Display current tmux session name";
# when = ''test -n "$TMUX"'';
# command = "tmux display-message -p '#S'";
# symbol = " ";
# style = "bold green";
# format = "[$symbol $output]($style)";
# };
# };
# };
};
# my.cli.shell.starship.format = [ "$tmux$character" ];
};
}

View File

@@ -60,11 +60,10 @@ in
programs.starship = {
settings = {
custom = {
# Borrowed from https://github.com/jj-vcs/jj/wiki/Starship/b18afc53417848f58333b24d446b8e2522b42bd2#alternative-prompt
jj = {
ignore_timeout = true;
description = "The current jj status";
# when = "${lib.getExe pkgs.jj-starship} detect";
# command = "${lib.getExe pkgs.jj-starship}";
when = true;
command = ''
jj log --revisions @ --no-graph --ignore-working-copy --color always --limit 1 --template '

View File

@@ -1,18 +0,0 @@
{ fetchFromGitHub, rustPlatform }:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "jj-starship";
version = "0.2.1";
src = fetchFromGitHub {
owner = "dmmulroy";
repo = finalAttrs.pname;
tag = "v${finalAttrs.version}";
hash = "sha256-wmQn1qw+jfxH9xBS7bdgWiK369bCeGV9klZzlFHrGOw=";
};
cargoHash = "sha256-dGutKgOG0gPDYcTODrBUmmJBl2k437E5/lz+9cFzgs4=";
meta = {
mainProgram = "jj-starship";
};
})