This commit is contained in:
+25
-14
@@ -1,4 +1,9 @@
|
||||
{ pkgs, lib, isDarwin, ... }:
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
isDarwin,
|
||||
...
|
||||
}:
|
||||
|
||||
let
|
||||
# Modules that only make sense on Linux, either because they use systemd,
|
||||
@@ -23,6 +28,7 @@ in
|
||||
|
||||
imports = [
|
||||
../modules/datalad.nix
|
||||
../modules/direnv.nix
|
||||
../modules/docker.nix
|
||||
../modules/fonts.nix
|
||||
../modules/ghostty.nix
|
||||
@@ -31,6 +37,7 @@ in
|
||||
../modules/pixi.nix
|
||||
../modules/python.nix
|
||||
../modules/rust.nix
|
||||
../modules/shell-tools.nix
|
||||
../modules/ssh.nix
|
||||
../modules/starship.nix
|
||||
../modules/typst.nix
|
||||
@@ -41,18 +48,22 @@ in
|
||||
../modules/zsh.nix
|
||||
./git.nix
|
||||
./gh.nix
|
||||
] ++ linuxOnly;
|
||||
]
|
||||
++ linuxOnly;
|
||||
|
||||
home.packages = with pkgs; [
|
||||
atool
|
||||
httpie
|
||||
just
|
||||
git-lfs
|
||||
typst
|
||||
unzip
|
||||
glow
|
||||
] ++ lib.optionals (!isDarwin) [
|
||||
spotify
|
||||
brave
|
||||
];
|
||||
home.packages =
|
||||
with pkgs;
|
||||
[
|
||||
atool
|
||||
httpie
|
||||
just
|
||||
git-lfs
|
||||
typst
|
||||
unzip
|
||||
glow
|
||||
]
|
||||
++ lib.optionals (!isDarwin) [
|
||||
spotify
|
||||
brave
|
||||
];
|
||||
}
|
||||
|
||||
+2
-4
@@ -1,6 +1,4 @@
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
_: {
|
||||
programs.gh = {
|
||||
enable = true;
|
||||
settings = {
|
||||
@@ -9,7 +7,7 @@
|
||||
editor = "hx";
|
||||
prompt = "enabled";
|
||||
prefer_editor_prompt = "disabled";
|
||||
browser = "";
|
||||
browser = "";
|
||||
pager = "";
|
||||
aliases = {
|
||||
co = "pr checkout";
|
||||
|
||||
+4
-1
@@ -1,6 +1,9 @@
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
home.packages = [ pkgs.delta pkgs.git-annex ];
|
||||
home.packages = [
|
||||
pkgs.delta
|
||||
pkgs.git-annex
|
||||
];
|
||||
programs.git = {
|
||||
enable = true;
|
||||
signing = {
|
||||
|
||||
@@ -4,4 +4,3 @@
|
||||
datalad
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
_: {
|
||||
programs.direnv = {
|
||||
enable = true;
|
||||
nix-direnv.enable = true;
|
||||
};
|
||||
}
|
||||
@@ -5,14 +5,14 @@
|
||||
|
||||
systemd.user.services.dropbox = {
|
||||
Unit = {
|
||||
Description = "Dropbox service";
|
||||
Description = "Dropbox service";
|
||||
};
|
||||
Install = {
|
||||
WantedBy = [ "default.target" ];
|
||||
WantedBy = [ "default.target" ];
|
||||
};
|
||||
Service = {
|
||||
ExecStart = "${pkgs.dropbox}/bin/dropbox";
|
||||
Restart = "on-failure";
|
||||
ExecStart = "${pkgs.dropbox}/bin/dropbox";
|
||||
Restart = "on-failure";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
+265
-57
@@ -1,4 +1,9 @@
|
||||
{ pkgs, lib, isDarwin, ... }:
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
isDarwin,
|
||||
...
|
||||
}:
|
||||
let
|
||||
baseKeybinds = [
|
||||
"ctrl+t=new_tab"
|
||||
@@ -18,7 +23,7 @@ in
|
||||
enable = true;
|
||||
# nixpkgs `ghostty` is the Linux/GTK build (Linux-only meta.platforms).
|
||||
# On macOS use `ghostty-bin`, the repackaged official .dmg.
|
||||
package = if isDarwin then pkgs.ghostty-bin else pkgs.ghostty;
|
||||
package = if isDarwin then pkgs.ghostty-bin else pkgs.ghostty;
|
||||
|
||||
settings = {
|
||||
# Font Settings
|
||||
@@ -31,58 +36,261 @@ in
|
||||
"foreground" = "#abb2bf";
|
||||
"cursor-style" = "block";
|
||||
"palette" = [
|
||||
"0=#282c34" "1=#e06c75" "2=#98c379" "3=#e5c07b"
|
||||
"4=#61afef" "5=#c678dd" "6=#56b6c2" "7=#abb2bf"
|
||||
"8=#5c6370" "9=#e06c75" "10=#98c379" "11=#e5c07b"
|
||||
"12=#61afef" "13=#c678dd" "14=#56b6c2" "15=#ffffff"
|
||||
"16=#000000" "17=#00005f" "18=#000087" "19=#0000af"
|
||||
"20=#0000d7" "21=#0000ff" "22=#005f00" "23=#005f5f" "24=#005f87"
|
||||
"25=#005faf" "26=#005fd7" "27=#005fff" "28=#008700" "29=#00875f"
|
||||
"30=#008787" "31=#0087af" "32=#0087d7" "33=#0087ff" "34=#00af00"
|
||||
"35=#00af5f" "36=#00af87" "37=#00afaf" "38=#00afd7" "39=#00afff"
|
||||
"40=#00d700" "41=#00d75f" "42=#00d787" "43=#00d7af" "44=#00d7d7"
|
||||
"45=#00d7ff" "46=#00ff00" "47=#00ff5f" "48=#00ff87" "49=#00ffaf"
|
||||
"50=#00ffd7" "51=#00ffff" "52=#5f0000" "53=#5f005f" "54=#5f0087"
|
||||
"55=#5f00af" "56=#5f00d7" "57=#5f00ff" "58=#5f5f00" "59=#5f5f5f"
|
||||
"60=#5f5f87" "61=#5f5faf" "62=#5f5fd7" "63=#5f5fff" "64=#5f8700"
|
||||
"65=#5f875f" "66=#5f8787" "67=#5f87af" "68=#5f87d7" "69=#5f87ff"
|
||||
"70=#5faf00" "71=#5faf5f" "72=#5faf87" "73=#5fafaf" "74=#5fafd7"
|
||||
"75=#5fafff" "76=#5fd700" "77=#5fd75f" "78=#5fd787" "79=#5fd7af"
|
||||
"80=#5fd7d7" "81=#5fd7ff" "82=#5fff00" "83=#5fff5f" "84=#5fff87"
|
||||
"85=#5fffaf" "86=#5fffd7" "87=#5fffff" "88=#870000" "89=#87005f"
|
||||
"90=#870087" "91=#8700af" "92=#8700d7" "93=#8700ff" "94=#875f00"
|
||||
"95=#875f5f" "96=#875f87" "97=#875faf" "98=#875fd7" "99=#875fff"
|
||||
"100=#878700" "101=#87875f" "102=#878787" "103=#8787af" "104=#8787d7"
|
||||
"105=#8787ff" "106=#87af00" "107=#87af5f" "108=#87af87" "109=#87afaf"
|
||||
"110=#87afd7" "111=#87afff" "112=#87d700" "113=#87d75f" "114=#87d787"
|
||||
"115=#87d7af" "116=#87d7d7" "117=#87d7ff" "118=#87ff00" "119=#87ff5f"
|
||||
"120=#87ff87" "121=#87ffaf" "122=#87ffd7" "123=#87ffff" "124=#af0000"
|
||||
"125=#af005f" "126=#af0087" "127=#af00af" "128=#af00d7" "129=#af00ff"
|
||||
"130=#af5f00" "131=#af5f5f" "132=#af5f87" "133=#af5faf" "134=#af5fd7"
|
||||
"135=#af5fff" "136=#af8700" "137=#af875f" "138=#af8787" "139=#af87af"
|
||||
"140=#af87d7" "141=#af87ff" "142=#afaf00" "143=#afaf5f" "144=#afaf87"
|
||||
"145=#afafaf" "146=#afafd7" "147=#afafff" "148=#afd700" "149=#afd75f"
|
||||
"150=#afd787" "151=#afd7af" "152=#afd7d7" "153=#afd7ff" "154=#afff00"
|
||||
"155=#afff5f" "156=#afff87" "157=#afffaf" "158=#afffd7" "159=#afffff"
|
||||
"160=#d70000" "161=#d7005f" "162=#d70087" "163=#d700af" "164=#d700d7"
|
||||
"165=#d700ff" "166=#d75f00" "167=#d75f5f" "168=#d75f87" "169=#d75faf"
|
||||
"170=#d75fd7" "171=#d75fff" "172=#d78700" "173=#d7875f" "174=#d78787"
|
||||
"175=#d787af" "176=#d787d7" "177=#d787ff" "178=#d7af00" "179=#d7af5f"
|
||||
"180=#d7af87" "181=#d7afaf" "182=#d7afd7" "183=#d7afff" "184=#d7d700"
|
||||
"185=#d7d75f" "186=#d7d787" "187=#d7d7af" "188=#d7d7d7" "189=#d7d7ff"
|
||||
"190=#d7ff00" "191=#d7ff5f" "192=#d7ff87" "193=#d7ffaf" "194=#d7ffd7"
|
||||
"195=#d7ffff" "196=#ff0000" "197=#ff005f" "198=#ff0087" "199=#ff00af"
|
||||
"200=#ff00d7" "201=#ff00ff" "202=#ff5f00" "203=#ff5f5f" "204=#ff5f87"
|
||||
"205=#ff5faf" "206=#ff5fd7" "207=#ff5fff" "208=#ff8700" "209=#ff875f"
|
||||
"210=#ff8787" "211=#ff87af" "212=#ff87d7" "213=#ff87ff" "214=#ffaf00"
|
||||
"215=#ffaf5f" "216=#ffaf87" "217=#ffafaf" "218=#ffafd7" "219=#ffafff"
|
||||
"220=#ffd700" "221=#ffd75f" "222=#ffd787" "223=#ffd7af" "224=#ffd7d7"
|
||||
"225=#ffd7ff" "226=#ffff00" "227=#ffff5f" "228=#ffff87" "229=#ffffaf"
|
||||
"230=#ffffd7" "231=#ffffff" "232=#080808" "233=#121212" "234=#1c1c1c"
|
||||
"235=#262626" "236=#303030" "237=#3a3a3a" "238=#444444" "239=#4e4e4e"
|
||||
"240=#585858" "241=#626262" "242=#6c6c6c" "243=#767676" "244=#808080"
|
||||
"245=#8a8a8a" "246=#949494" "247=#9e9e9e" "248=#a8a8a8" "249=#b2b2b2"
|
||||
"250=#bcbcbc" "251=#c6c6c6" "252=#d0d0d0" "253=#dadada" "254=#e4e4e4"
|
||||
"0=#282c34"
|
||||
"1=#e06c75"
|
||||
"2=#98c379"
|
||||
"3=#e5c07b"
|
||||
"4=#61afef"
|
||||
"5=#c678dd"
|
||||
"6=#56b6c2"
|
||||
"7=#abb2bf"
|
||||
"8=#5c6370"
|
||||
"9=#e06c75"
|
||||
"10=#98c379"
|
||||
"11=#e5c07b"
|
||||
"12=#61afef"
|
||||
"13=#c678dd"
|
||||
"14=#56b6c2"
|
||||
"15=#ffffff"
|
||||
"16=#000000"
|
||||
"17=#00005f"
|
||||
"18=#000087"
|
||||
"19=#0000af"
|
||||
"20=#0000d7"
|
||||
"21=#0000ff"
|
||||
"22=#005f00"
|
||||
"23=#005f5f"
|
||||
"24=#005f87"
|
||||
"25=#005faf"
|
||||
"26=#005fd7"
|
||||
"27=#005fff"
|
||||
"28=#008700"
|
||||
"29=#00875f"
|
||||
"30=#008787"
|
||||
"31=#0087af"
|
||||
"32=#0087d7"
|
||||
"33=#0087ff"
|
||||
"34=#00af00"
|
||||
"35=#00af5f"
|
||||
"36=#00af87"
|
||||
"37=#00afaf"
|
||||
"38=#00afd7"
|
||||
"39=#00afff"
|
||||
"40=#00d700"
|
||||
"41=#00d75f"
|
||||
"42=#00d787"
|
||||
"43=#00d7af"
|
||||
"44=#00d7d7"
|
||||
"45=#00d7ff"
|
||||
"46=#00ff00"
|
||||
"47=#00ff5f"
|
||||
"48=#00ff87"
|
||||
"49=#00ffaf"
|
||||
"50=#00ffd7"
|
||||
"51=#00ffff"
|
||||
"52=#5f0000"
|
||||
"53=#5f005f"
|
||||
"54=#5f0087"
|
||||
"55=#5f00af"
|
||||
"56=#5f00d7"
|
||||
"57=#5f00ff"
|
||||
"58=#5f5f00"
|
||||
"59=#5f5f5f"
|
||||
"60=#5f5f87"
|
||||
"61=#5f5faf"
|
||||
"62=#5f5fd7"
|
||||
"63=#5f5fff"
|
||||
"64=#5f8700"
|
||||
"65=#5f875f"
|
||||
"66=#5f8787"
|
||||
"67=#5f87af"
|
||||
"68=#5f87d7"
|
||||
"69=#5f87ff"
|
||||
"70=#5faf00"
|
||||
"71=#5faf5f"
|
||||
"72=#5faf87"
|
||||
"73=#5fafaf"
|
||||
"74=#5fafd7"
|
||||
"75=#5fafff"
|
||||
"76=#5fd700"
|
||||
"77=#5fd75f"
|
||||
"78=#5fd787"
|
||||
"79=#5fd7af"
|
||||
"80=#5fd7d7"
|
||||
"81=#5fd7ff"
|
||||
"82=#5fff00"
|
||||
"83=#5fff5f"
|
||||
"84=#5fff87"
|
||||
"85=#5fffaf"
|
||||
"86=#5fffd7"
|
||||
"87=#5fffff"
|
||||
"88=#870000"
|
||||
"89=#87005f"
|
||||
"90=#870087"
|
||||
"91=#8700af"
|
||||
"92=#8700d7"
|
||||
"93=#8700ff"
|
||||
"94=#875f00"
|
||||
"95=#875f5f"
|
||||
"96=#875f87"
|
||||
"97=#875faf"
|
||||
"98=#875fd7"
|
||||
"99=#875fff"
|
||||
"100=#878700"
|
||||
"101=#87875f"
|
||||
"102=#878787"
|
||||
"103=#8787af"
|
||||
"104=#8787d7"
|
||||
"105=#8787ff"
|
||||
"106=#87af00"
|
||||
"107=#87af5f"
|
||||
"108=#87af87"
|
||||
"109=#87afaf"
|
||||
"110=#87afd7"
|
||||
"111=#87afff"
|
||||
"112=#87d700"
|
||||
"113=#87d75f"
|
||||
"114=#87d787"
|
||||
"115=#87d7af"
|
||||
"116=#87d7d7"
|
||||
"117=#87d7ff"
|
||||
"118=#87ff00"
|
||||
"119=#87ff5f"
|
||||
"120=#87ff87"
|
||||
"121=#87ffaf"
|
||||
"122=#87ffd7"
|
||||
"123=#87ffff"
|
||||
"124=#af0000"
|
||||
"125=#af005f"
|
||||
"126=#af0087"
|
||||
"127=#af00af"
|
||||
"128=#af00d7"
|
||||
"129=#af00ff"
|
||||
"130=#af5f00"
|
||||
"131=#af5f5f"
|
||||
"132=#af5f87"
|
||||
"133=#af5faf"
|
||||
"134=#af5fd7"
|
||||
"135=#af5fff"
|
||||
"136=#af8700"
|
||||
"137=#af875f"
|
||||
"138=#af8787"
|
||||
"139=#af87af"
|
||||
"140=#af87d7"
|
||||
"141=#af87ff"
|
||||
"142=#afaf00"
|
||||
"143=#afaf5f"
|
||||
"144=#afaf87"
|
||||
"145=#afafaf"
|
||||
"146=#afafd7"
|
||||
"147=#afafff"
|
||||
"148=#afd700"
|
||||
"149=#afd75f"
|
||||
"150=#afd787"
|
||||
"151=#afd7af"
|
||||
"152=#afd7d7"
|
||||
"153=#afd7ff"
|
||||
"154=#afff00"
|
||||
"155=#afff5f"
|
||||
"156=#afff87"
|
||||
"157=#afffaf"
|
||||
"158=#afffd7"
|
||||
"159=#afffff"
|
||||
"160=#d70000"
|
||||
"161=#d7005f"
|
||||
"162=#d70087"
|
||||
"163=#d700af"
|
||||
"164=#d700d7"
|
||||
"165=#d700ff"
|
||||
"166=#d75f00"
|
||||
"167=#d75f5f"
|
||||
"168=#d75f87"
|
||||
"169=#d75faf"
|
||||
"170=#d75fd7"
|
||||
"171=#d75fff"
|
||||
"172=#d78700"
|
||||
"173=#d7875f"
|
||||
"174=#d78787"
|
||||
"175=#d787af"
|
||||
"176=#d787d7"
|
||||
"177=#d787ff"
|
||||
"178=#d7af00"
|
||||
"179=#d7af5f"
|
||||
"180=#d7af87"
|
||||
"181=#d7afaf"
|
||||
"182=#d7afd7"
|
||||
"183=#d7afff"
|
||||
"184=#d7d700"
|
||||
"185=#d7d75f"
|
||||
"186=#d7d787"
|
||||
"187=#d7d7af"
|
||||
"188=#d7d7d7"
|
||||
"189=#d7d7ff"
|
||||
"190=#d7ff00"
|
||||
"191=#d7ff5f"
|
||||
"192=#d7ff87"
|
||||
"193=#d7ffaf"
|
||||
"194=#d7ffd7"
|
||||
"195=#d7ffff"
|
||||
"196=#ff0000"
|
||||
"197=#ff005f"
|
||||
"198=#ff0087"
|
||||
"199=#ff00af"
|
||||
"200=#ff00d7"
|
||||
"201=#ff00ff"
|
||||
"202=#ff5f00"
|
||||
"203=#ff5f5f"
|
||||
"204=#ff5f87"
|
||||
"205=#ff5faf"
|
||||
"206=#ff5fd7"
|
||||
"207=#ff5fff"
|
||||
"208=#ff8700"
|
||||
"209=#ff875f"
|
||||
"210=#ff8787"
|
||||
"211=#ff87af"
|
||||
"212=#ff87d7"
|
||||
"213=#ff87ff"
|
||||
"214=#ffaf00"
|
||||
"215=#ffaf5f"
|
||||
"216=#ffaf87"
|
||||
"217=#ffafaf"
|
||||
"218=#ffafd7"
|
||||
"219=#ffafff"
|
||||
"220=#ffd700"
|
||||
"221=#ffd75f"
|
||||
"222=#ffd787"
|
||||
"223=#ffd7af"
|
||||
"224=#ffd7d7"
|
||||
"225=#ffd7ff"
|
||||
"226=#ffff00"
|
||||
"227=#ffff5f"
|
||||
"228=#ffff87"
|
||||
"229=#ffffaf"
|
||||
"230=#ffffd7"
|
||||
"231=#ffffff"
|
||||
"232=#080808"
|
||||
"233=#121212"
|
||||
"234=#1c1c1c"
|
||||
"235=#262626"
|
||||
"236=#303030"
|
||||
"237=#3a3a3a"
|
||||
"238=#444444"
|
||||
"239=#4e4e4e"
|
||||
"240=#585858"
|
||||
"241=#626262"
|
||||
"242=#6c6c6c"
|
||||
"243=#767676"
|
||||
"244=#808080"
|
||||
"245=#8a8a8a"
|
||||
"246=#949494"
|
||||
"247=#9e9e9e"
|
||||
"248=#a8a8a8"
|
||||
"249=#b2b2b2"
|
||||
"250=#bcbcbc"
|
||||
"251=#c6c6c6"
|
||||
"252=#d0d0d0"
|
||||
"253=#dadada"
|
||||
"254=#e4e4e4"
|
||||
"255=#eeeeee"
|
||||
];
|
||||
|
||||
@@ -95,9 +303,9 @@ in
|
||||
"confirm-close-surface" = true;
|
||||
|
||||
# Keybindings (Tabs & Splits)
|
||||
"keybind" = baseKeybinds
|
||||
++ lib.optionals isDarwin [ "super+d=unbind" ];
|
||||
} // lib.optionalAttrs isDarwin {
|
||||
"keybind" = baseKeybinds ++ lib.optionals isDarwin [ "super+d=unbind" ];
|
||||
}
|
||||
// lib.optionalAttrs isDarwin {
|
||||
"macos-titlebar-style" = "transparent";
|
||||
"macos-icon" = "official";
|
||||
};
|
||||
|
||||
@@ -4,4 +4,3 @@
|
||||
gimp
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
+23
-10
@@ -113,37 +113,51 @@ in
|
||||
};
|
||||
|
||||
keys.normal = {
|
||||
"C-g" = [ ":new" ":insert-output lazygit" ":buffer-close!" ":redraw" ];
|
||||
"d" = "delete_selection_noyank";
|
||||
"A-d" = "delete_selection";
|
||||
"C-y" = [
|
||||
":sh rm -f /tmp/yazi-chooser"
|
||||
'':insert-output yazi "%{buffer_name}" --chooser-file=/tmp/yazi-chooser''
|
||||
'':sh printf '\x1b[?1049h\x1b[?2004h' > /dev/tty''
|
||||
'':open %sh{cat /tmp/yazi-chooser}''
|
||||
":open %sh{cat /tmp/yazi-chooser}"
|
||||
":redraw"
|
||||
];
|
||||
} // lib.optionalAttrs pkgs.stdenv.isDarwin macKeys;
|
||||
}
|
||||
// lib.optionalAttrs pkgs.stdenv.isDarwin macKeys;
|
||||
|
||||
keys.select = {
|
||||
} // lib.optionalAttrs pkgs.stdenv.isDarwin macKeys;
|
||||
}
|
||||
// lib.optionalAttrs pkgs.stdenv.isDarwin macKeys;
|
||||
};
|
||||
|
||||
|
||||
languages = {
|
||||
language = [
|
||||
{
|
||||
name = "quarto";
|
||||
language-id = "markdown";
|
||||
language-servers = [ "marksman" "harper-ls" ];
|
||||
language-servers = [
|
||||
"marksman"
|
||||
"harper-ls"
|
||||
];
|
||||
auto-format = false;
|
||||
comment-tokens = [ "-" "*" ">" ];
|
||||
comment-tokens = [
|
||||
"-"
|
||||
"*"
|
||||
">"
|
||||
];
|
||||
}
|
||||
{
|
||||
name = "markdown";
|
||||
language-servers = [ "marksman" "harper-ls" ];
|
||||
language-servers = [
|
||||
"marksman"
|
||||
"harper-ls"
|
||||
];
|
||||
auto-format = false;
|
||||
comment-tokens = [ "-" "*" ">" ];
|
||||
comment-tokens = [
|
||||
"-"
|
||||
"*"
|
||||
">"
|
||||
];
|
||||
}
|
||||
];
|
||||
|
||||
@@ -174,4 +188,3 @@ in
|
||||
];
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -4,4 +4,3 @@
|
||||
hyperfine
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
@@ -4,4 +4,3 @@
|
||||
masterpdfeditor
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
home.sessionPath = [ "$HOME/.pixi/bin" ];
|
||||
home.activation.pixi = {
|
||||
after = [ "writeBoundary" ];
|
||||
before = [];
|
||||
before = [ ];
|
||||
data = ''
|
||||
export PATH="${pkgs.curl}/bin:${pkgs.coreutils}/bin:$PATH"
|
||||
if ! command -v pixi &> /dev/null; then
|
||||
|
||||
+43
-12
@@ -1,4 +1,4 @@
|
||||
{ ... }: {
|
||||
_: {
|
||||
programs.plasma = {
|
||||
enable = true;
|
||||
|
||||
@@ -41,14 +41,23 @@
|
||||
kmix.increase_microphone_volume = "Microphone Volume Up";
|
||||
kmix.increase_volume = "Volume Up";
|
||||
kmix.increase_volume_small = "Shift+Volume Up";
|
||||
kmix.mic_mute = ["Microphone Mute" "Meta+Volume Mute"];
|
||||
kmix.mic_mute = [
|
||||
"Microphone Mute"
|
||||
"Meta+Volume Mute"
|
||||
];
|
||||
kmix.mute = "Volume Mute";
|
||||
ksmserver."Lock Session" = ["Meta+L" "Screensaver"];
|
||||
ksmserver."Lock Session" = [
|
||||
"Meta+L"
|
||||
"Screensaver"
|
||||
];
|
||||
ksmserver."Log Out" = "Ctrl+Alt+Del";
|
||||
kwin."Activate Window Demanding Attention" = "Meta+Ctrl+A";
|
||||
kwin."Edit Tiles" = "Meta+T";
|
||||
kwin.Expose = "Ctrl+F9";
|
||||
kwin.ExposeAll = ["Ctrl+F10" "Launch (C)"];
|
||||
kwin.ExposeAll = [
|
||||
"Ctrl+F10"
|
||||
"Launch (C)"
|
||||
];
|
||||
kwin.ExposeClass = "Ctrl+F7";
|
||||
kwin."Grid View" = "Meta+G";
|
||||
kwin."Kill Window" = "Meta+Ctrl+Esc";
|
||||
@@ -68,10 +77,22 @@
|
||||
kwin."Switch to Desktop 2" = "Ctrl+F2";
|
||||
kwin."Switch to Desktop 3" = "Ctrl+F3";
|
||||
kwin."Switch to Desktop 4" = "Ctrl+F4";
|
||||
kwin."Walk Through Windows" = ["Meta+Tab" "Alt+Tab"];
|
||||
kwin."Walk Through Windows (Reverse)" = ["Meta+Shift+Tab" "Alt+Shift+Tab"];
|
||||
kwin."Walk Through Windows of Current Application" = ["Meta+`" "Alt+`"];
|
||||
kwin."Walk Through Windows of Current Application (Reverse)" = ["Meta+~" "Alt+~"];
|
||||
kwin."Walk Through Windows" = [
|
||||
"Meta+Tab"
|
||||
"Alt+Tab"
|
||||
];
|
||||
kwin."Walk Through Windows (Reverse)" = [
|
||||
"Meta+Shift+Tab"
|
||||
"Alt+Shift+Tab"
|
||||
];
|
||||
kwin."Walk Through Windows of Current Application" = [
|
||||
"Meta+`"
|
||||
"Alt+`"
|
||||
];
|
||||
kwin."Walk Through Windows of Current Application (Reverse)" = [
|
||||
"Meta+~"
|
||||
"Alt+~"
|
||||
];
|
||||
kwin."Window Close" = "Alt+F4";
|
||||
kwin."Window Maximize" = "Meta+PgUp";
|
||||
kwin."Window Minimize" = "Meta+PgDown";
|
||||
@@ -88,7 +109,10 @@
|
||||
kwin."Window to Previous Screen" = "Meta+Shift+Left";
|
||||
kwin.disableInputCapture = "Meta+Shift+Esc";
|
||||
kwin.view_actual_size = "Meta+0";
|
||||
kwin.view_zoom_in = ["Meta++" "Meta+="];
|
||||
kwin.view_zoom_in = [
|
||||
"Meta++"
|
||||
"Meta+="
|
||||
];
|
||||
kwin.view_zoom_out = "Meta+-";
|
||||
mediacontrol.nextmedia = "Media Next";
|
||||
mediacontrol.pausemedia = "Media Pause";
|
||||
@@ -106,8 +130,14 @@
|
||||
org_kde_powerdevil.PowerOff = "Power Off";
|
||||
org_kde_powerdevil.Sleep = "Sleep";
|
||||
org_kde_powerdevil."Toggle Keyboard Backlight" = "Keyboard Light On/Off";
|
||||
org_kde_powerdevil.powerProfile = ["Battery" "Meta+B"];
|
||||
plasmashell."activate application launcher" = ["Meta" "Alt+F1"];
|
||||
org_kde_powerdevil.powerProfile = [
|
||||
"Battery"
|
||||
"Meta+B"
|
||||
];
|
||||
plasmashell."activate application launcher" = [
|
||||
"Meta"
|
||||
"Alt+F1"
|
||||
];
|
||||
plasmashell."activate task manager entry 1" = "Meta+1";
|
||||
plasmashell."activate task manager entry 2" = "Meta+2";
|
||||
plasmashell."activate task manager entry 3" = "Meta+3";
|
||||
@@ -128,7 +158,8 @@
|
||||
|
||||
# At the moment, these are mostly defaults.
|
||||
configFile = {
|
||||
baloofilerc.General."exclude filters" = "*~,*.part,*.o,*.la,*.lo,*.loT,*.moc,moc_*.cpp,qrc_*.cpp,ui_*.h,cmake_install.cmake,CMakeCache.txt,CTestTestfile.cmake,libtool,config.status,confdefs.h,autom4te,conftest,confstat,Makefile.am,*.gcode,.ninja_deps,.ninja_log,build.ninja,*.csproj,*.m4,*.rej,*.gmo,*.pc,*.omf,*.aux,*.tmp,*.po,*.vm*,*.nvram,*.rcore,*.swp,*.swap,lzo,litmain.sh,*.orig,.histfile.*,.xsession-errors*,*.map,*.so,*.a,*.db,*.qrc,*.ini,*.init,*.img,*.vdi,*.vbox*,vbox.log,*.qcow2,*.vmdk,*.vhd,*.vhdx,*.sql,*.sql.gz,*.ytdl,*.tfstate*,*.class,*.pyc,*.pyo,*.elc,*.qmlc,*.jsc,*.fastq,*.fq,*.gb,*.fasta,*.fna,*.gbff,*.faa,po,CVS,.svn,.git,_darcs,.bzr,.hg,CMakeFiles,CMakeTmp,CMakeTmpQmake,.moc,.obj,.pch,.uic,.npm,.yarn,.yarn-cache,__pycache__,node_modules,node_packages,nbproject,.terraform,.venv,venv,core-dumps,lost+found";
|
||||
baloofilerc.General."exclude filters" =
|
||||
"*~,*.part,*.o,*.la,*.lo,*.loT,*.moc,moc_*.cpp,qrc_*.cpp,ui_*.h,cmake_install.cmake,CMakeCache.txt,CTestTestfile.cmake,libtool,config.status,confdefs.h,autom4te,conftest,confstat,Makefile.am,*.gcode,.ninja_deps,.ninja_log,build.ninja,*.csproj,*.m4,*.rej,*.gmo,*.pc,*.omf,*.aux,*.tmp,*.po,*.vm*,*.nvram,*.rcore,*.swp,*.swap,lzo,litmain.sh,*.orig,.histfile.*,.xsession-errors*,*.map,*.so,*.a,*.db,*.qrc,*.ini,*.init,*.img,*.vdi,*.vbox*,vbox.log,*.qcow2,*.vmdk,*.vhd,*.vhdx,*.sql,*.sql.gz,*.ytdl,*.tfstate*,*.class,*.pyc,*.pyo,*.elc,*.qmlc,*.jsc,*.fastq,*.fq,*.gb,*.fasta,*.fna,*.gbff,*.faa,po,CVS,.svn,.git,_darcs,.bzr,.hg,CMakeFiles,CMakeTmp,CMakeTmpQmake,.moc,.obj,.pch,.uic,.npm,.yarn,.yarn-cache,__pycache__,node_modules,node_packages,nbproject,.terraform,.venv,venv,core-dumps,lost+found";
|
||||
dolphinrc.DetailsMode.PreviewSize = 22;
|
||||
dolphinrc.General.DoubleClickViewAction = "open_terminal";
|
||||
dolphinrc."KFileDialog Settings"."Places Icons Auto-resize" = false;
|
||||
|
||||
@@ -4,4 +4,3 @@
|
||||
python315
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
@@ -4,4 +4,3 @@
|
||||
rustup
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
programs = {
|
||||
fzf.enable = true; # Ctrl-R fuzzy history, Ctrl-T file search
|
||||
zoxide.enable = true; # `z foo` smart cd
|
||||
bat.enable = true; # syntax-highlighting pager / fzf preview
|
||||
eza.enable = true;
|
||||
};
|
||||
home.packages = with pkgs; [
|
||||
ripgrep
|
||||
fd
|
||||
jq
|
||||
];
|
||||
}
|
||||
@@ -1,11 +1,9 @@
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
_: {
|
||||
programs.ssh = {
|
||||
enable = true;
|
||||
|
||||
enableDefaultConfig = false;
|
||||
|
||||
|
||||
settings = {
|
||||
"github.com" = {
|
||||
hostname = "github.com";
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
_: {
|
||||
programs.starship = {
|
||||
enable = true;
|
||||
enableZshIntegration = true;
|
||||
|
||||
@@ -5,4 +5,3 @@
|
||||
tinymist
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
+37
-25
@@ -1,33 +1,45 @@
|
||||
{ pkgs, lib, isDarwin, ... }: {
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
isDarwin,
|
||||
...
|
||||
}:
|
||||
{
|
||||
programs.vscodium = {
|
||||
enable = true;
|
||||
package = pkgs.vscodium;
|
||||
|
||||
profiles.default = {
|
||||
extensions = (with pkgs.vscode-extensions; [
|
||||
charliermarsh.ruff
|
||||
editorconfig.editorconfig
|
||||
gruntfuggly.todo-tree
|
||||
hediet.vscode-drawio
|
||||
jnoortheen.nix-ide
|
||||
mechatroner.rainbow-csv
|
||||
ms-toolsai.jupyter
|
||||
ms-python.python
|
||||
ms-vscode-remote.remote-ssh
|
||||
myriad-dreamin.tinymist
|
||||
rust-lang.rust-analyzer
|
||||
timonwong.shellcheck
|
||||
unifiedjs.vscode-mdx
|
||||
]) ++ pkgs.nix4vscode.forOpenVsx [
|
||||
"akamud.vscode-theme-onedark"
|
||||
"astral-sh.ty"
|
||||
"modular-mojotools.vscode-mojo"
|
||||
] ++ lib.optionals (!isDarwin) (with pkgs.vscode-extensions; [
|
||||
# markdown-pdf pins ungoogled-chromium (Linux-only) as its PDF
|
||||
# renderer. On macOS, install it from the marketplace by hand and set
|
||||
# markdown-pdf.executablePath to Chrome/Brave, or render via typst.
|
||||
yzane.markdown-pdf
|
||||
]);
|
||||
extensions =
|
||||
(with pkgs.vscode-extensions; [
|
||||
charliermarsh.ruff
|
||||
editorconfig.editorconfig
|
||||
gruntfuggly.todo-tree
|
||||
hediet.vscode-drawio
|
||||
jnoortheen.nix-ide
|
||||
mechatroner.rainbow-csv
|
||||
ms-toolsai.jupyter
|
||||
ms-python.python
|
||||
ms-vscode-remote.remote-ssh
|
||||
myriad-dreamin.tinymist
|
||||
rust-lang.rust-analyzer
|
||||
timonwong.shellcheck
|
||||
unifiedjs.vscode-mdx
|
||||
])
|
||||
++ pkgs.nix4vscode.forOpenVsx [
|
||||
"akamud.vscode-theme-onedark"
|
||||
"astral-sh.ty"
|
||||
"modular-mojotools.vscode-mojo"
|
||||
]
|
||||
++ lib.optionals (!isDarwin) (
|
||||
with pkgs.vscode-extensions;
|
||||
[
|
||||
# markdown-pdf pins ungoogled-chromium (Linux-only) as its PDF
|
||||
# renderer. On macOS, install it from the marketplace by hand and set
|
||||
# markdown-pdf.executablePath to Chrome/Brave, or render via typst.
|
||||
yzane.markdown-pdf
|
||||
]
|
||||
);
|
||||
|
||||
userSettings = {
|
||||
"editor.fontFamily" = "'JetBrains Mono', monospace";
|
||||
|
||||
+68
-17
@@ -15,14 +15,23 @@ let
|
||||
'';
|
||||
|
||||
helixOpener = [
|
||||
{ run = ''hx-zellij-open "$@"''; desc = "Open in Helix pane"; block = false; for = "unix"; }
|
||||
{
|
||||
run = ''hx-zellij-open "$@"'';
|
||||
desc = "Open in Helix pane";
|
||||
block = false;
|
||||
for = "unix";
|
||||
}
|
||||
];
|
||||
|
||||
tomlFormat = pkgs.formats.toml { };
|
||||
|
||||
ideYaziToml = tomlFormat.generate "yazi.toml" {
|
||||
mgr = {
|
||||
ratio = [ 0 1 0 ];
|
||||
ratio = [
|
||||
0
|
||||
1
|
||||
0
|
||||
];
|
||||
linemode = "none";
|
||||
};
|
||||
opener.edit = helixOpener;
|
||||
@@ -30,8 +39,16 @@ let
|
||||
|
||||
ideKeymapToml = tomlFormat.generate "keymap.toml" {
|
||||
mgr.prepend_keymap = [
|
||||
{ on = "h"; run = "plugin bounded-leave"; desc = "Parent dir (stop at project root)"; }
|
||||
{ on = "<Left>"; run = "plugin bounded-leave"; desc = "Parent dir (stop at project root)"; }
|
||||
{
|
||||
on = "h";
|
||||
run = "plugin bounded-leave";
|
||||
desc = "Parent dir (stop at project root)";
|
||||
}
|
||||
{
|
||||
on = "<Left>";
|
||||
run = "plugin bounded-leave";
|
||||
desc = "Parent dir (stop at project root)";
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
@@ -60,23 +77,59 @@ let
|
||||
|
||||
ideThemeToml = tomlFormat.generate "theme.toml" {
|
||||
status = {
|
||||
overall = { fg = "#abb2bf"; bg = "#21252b"; }; # readable text on a dark bar
|
||||
progress_label = { fg = "#abb2bf"; bold = true; };
|
||||
progress_normal = { fg = "#98c379"; bg = "#21252b"; };
|
||||
progress_error = { fg = "#e06c75"; bg = "#21252b"; };
|
||||
overall = {
|
||||
fg = "#abb2bf";
|
||||
bg = "#21252b";
|
||||
}; # readable text on a dark bar
|
||||
progress_label = {
|
||||
fg = "#abb2bf";
|
||||
bold = true;
|
||||
};
|
||||
progress_normal = {
|
||||
fg = "#98c379";
|
||||
bg = "#21252b";
|
||||
};
|
||||
progress_error = {
|
||||
fg = "#e06c75";
|
||||
bg = "#21252b";
|
||||
};
|
||||
};
|
||||
mode = {
|
||||
normal_main = { fg = "#21252b"; bg = "#61afef"; bold = true; };
|
||||
normal_alt = { fg = "#61afef"; bg = "#21252b"; };
|
||||
select_main = { fg = "#21252b"; bg = "#98c379"; bold = true; };
|
||||
select_alt = { fg = "#98c379"; bg = "#21252b"; };
|
||||
unset_main = { fg = "#21252b"; bg = "#e06c75"; bold = true; };
|
||||
unset_alt = { fg = "#e06c75"; bg = "#21252b"; };
|
||||
normal_main = {
|
||||
fg = "#21252b";
|
||||
bg = "#61afef";
|
||||
bold = true;
|
||||
};
|
||||
normal_alt = {
|
||||
fg = "#61afef";
|
||||
bg = "#21252b";
|
||||
};
|
||||
select_main = {
|
||||
fg = "#21252b";
|
||||
bg = "#98c379";
|
||||
bold = true;
|
||||
};
|
||||
select_alt = {
|
||||
fg = "#98c379";
|
||||
bg = "#21252b";
|
||||
};
|
||||
unset_main = {
|
||||
fg = "#21252b";
|
||||
bg = "#e06c75";
|
||||
bold = true;
|
||||
};
|
||||
unset_alt = {
|
||||
fg = "#e06c75";
|
||||
bg = "#21252b";
|
||||
};
|
||||
};
|
||||
};
|
||||
in
|
||||
{
|
||||
home.packages = [ hx-zellij-open yazi-ide ];
|
||||
home.packages = [
|
||||
hx-zellij-open
|
||||
yazi-ide
|
||||
];
|
||||
|
||||
programs.yazi = {
|
||||
enable = true;
|
||||
@@ -85,7 +138,6 @@ in
|
||||
settings.opener.edit = helixOpener;
|
||||
};
|
||||
|
||||
|
||||
xdg.configFile = {
|
||||
"yazi-ide/yazi.toml".source = ideYaziToml;
|
||||
"yazi-ide/theme.toml".source = ideThemeToml;
|
||||
@@ -118,4 +170,3 @@ in
|
||||
'';
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
{ ... }:
|
||||
{
|
||||
_: {
|
||||
programs.zellij.enable = true;
|
||||
|
||||
xdg.configFile."zellij/config.kdl".text = ''
|
||||
|
||||
@@ -4,4 +4,3 @@
|
||||
zig
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
@@ -4,4 +4,3 @@
|
||||
zoom-us
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
@@ -1,4 +1,9 @@
|
||||
{ pkgs, lib, isDarwin, ... }:
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
isDarwin,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
programs.zsh = {
|
||||
@@ -54,8 +59,7 @@
|
||||
# ghostty (GTK) ships terminfo under $out/share on Linux. The macOS
|
||||
# ghostty-bin bundles its own, so only add ncurses there.
|
||||
TERMINFO_DIRS = lib.concatStringsSep ":" (
|
||||
lib.optional (!isDarwin) "${pkgs.ghostty}/share/terminfo"
|
||||
++ [ "${pkgs.ncurses}/share/terminfo" ]
|
||||
lib.optional (!isDarwin) "${pkgs.ghostty}/share/terminfo" ++ [ "${pkgs.ncurses}/share/terminfo" ]
|
||||
);
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user