Compare commits

...

3 Commits

Author SHA1 Message Date
htran 0208a946f2 feat: real tab title template hacker mode 2023-06-23 01:13:06 -07:00
htran c2b5908fa5 kitty as my main terminal now 2023-06-22 23:36:52 -07:00
htran 83c2b01570 ^std breaking change 2023-06-22 20:52:40 -07:00
8 changed files with 660 additions and 729 deletions

21
.envrc
View File

@ -1,16 +1,13 @@
#!/bin/sh
source "$(
nix eval \
--no-update-lock-file \
--no-write-lock-file \
--no-warn-dirty \
--accept-flake-config \
.#__std.direnv_lib 2>/dev/null \
|| nix eval .#__std.direnv_lib # show the errors
)"
# FIXME: This should check if $USER is in userShells, if not,
# fall back to `use nix`
use std nix "//repo/userShells:${USER}"
# first time
if [[ ! -d $(nix store add-path --name source --dry-run .) ]]; then
nix store add-path --name source .
(cd ./src/local && nix flake lock --update-input std)
(cd ./src/tests && nix flake lock --update-input std)
fi
# shellcheck disable=SC1090
. "$(fetchurl "https://raw.githubusercontent.com/paisano-nix/direnv/main/lib" "sha256-R3K8Flvbovj4IOvdlWNtQKLMMSQV464WjG9eU29ixHk=")"
use envreload "//repo/userShells/${USER}" //repo/userShells/default //repo/userShells

View File

@ -30,6 +30,21 @@
"type": "github"
}
},
"call-flake": {
"locked": {
"lastModified": 1687380775,
"narHash": "sha256-bmhE1TmrJG4ba93l9WQTLuYM53kwGQAjYHRvHOeuxWU=",
"owner": "divnix",
"repo": "call-flake",
"rev": "74061f6c241227cd05e79b702db9a300a2e4131a",
"type": "github"
},
"original": {
"owner": "divnix",
"repo": "call-flake",
"type": "github"
}
},
"cargo-leptos": {
"flake": false,
"locked": {
@ -114,31 +129,6 @@
"type": "github"
}
},
"crane_4": {
"inputs": {
"flake-compat": "flake-compat_8",
"flake-utils": "flake-utils_12",
"nixpkgs": [
"std",
"paisano-mdbook-preprocessor",
"nixpkgs"
],
"rust-overlay": "rust-overlay_6"
},
"locked": {
"lastModified": 1676162383,
"narHash": "sha256-krUCKdz7ebHlFYm/A7IbKDnj2ZmMMm3yIEQcooqm7+E=",
"owner": "ipetkov",
"repo": "crane",
"rev": "6fb400ec631b22ccdbc7090b38207f7fb5cfb5f2",
"type": "github"
},
"original": {
"owner": "ipetkov",
"repo": "crane",
"type": "github"
}
},
"devshell": {
"inputs": {
"nixpkgs": [
@ -164,18 +154,15 @@
},
"devshell_2": {
"inputs": {
"nixpkgs": [
"std",
"nixpkgs"
],
"nixpkgs": "nixpkgs_14",
"systems": "systems_8"
},
"locked": {
"lastModified": 1686680692,
"narHash": "sha256-SsLZz3TDleraAiJq4EkmdyewSyiv5g0LZYc6vaLZOMQ=",
"lastModified": 1687173957,
"narHash": "sha256-GOds2bAQcZ94fb9/Nl/aM+r+0wGSi4EKYuZYR8Dw4R8=",
"owner": "numtide",
"repo": "devshell",
"rev": "fd6223370774dd9c33354e87a007004b5fd36442",
"rev": "2cf83bb31720fcc29a999aee28d6da101173e66a",
"type": "github"
},
"original": {
@ -268,25 +255,6 @@
"type": "github"
}
},
"fenix_2": {
"inputs": {
"nixpkgs": "nixpkgs_16",
"rust-analyzer-src": "rust-analyzer-src_2"
},
"locked": {
"lastModified": 1677306201,
"narHash": "sha256-VZ9x7qdTosFvVsrpgFHrtYfT6PU3yMIs7NRYn9ELapI=",
"owner": "nix-community",
"repo": "fenix",
"rev": "0923f0c162f65ae40261ec940406049726cfeab4",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "fenix",
"type": "github"
}
},
"flake-compat": {
"flake": false,
"locked": {
@ -399,22 +367,6 @@
"type": "github"
}
},
"flake-compat_8": {
"flake": false,
"locked": {
"lastModified": 1673956053,
"narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9",
"type": "github"
},
"original": {
"owner": "edolstra",
"repo": "flake-compat",
"type": "github"
}
},
"flake-parts": {
"inputs": {
"nixpkgs-lib": [
@ -527,36 +479,6 @@
"type": "github"
}
},
"flake-utils_11": {
"locked": {
"lastModified": 1659877975,
"narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"flake-utils_12": {
"locked": {
"lastModified": 1667395993,
"narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"flake-utils_2": {
"locked": {
"lastModified": 1667395993,
@ -810,7 +732,7 @@
},
"haumea_2": {
"inputs": {
"nixpkgs": "nixpkgs_14"
"nixpkgs": "nixpkgs_15"
},
"locked": {
"lastModified": 1685133229,
@ -878,11 +800,11 @@
]
},
"locked": {
"lastModified": 1687365523,
"narHash": "sha256-2l/cPXDCDVcLNm+EvCRGJcJ9YxxyLbc2vfTah/t8Qwc=",
"lastModified": 1687473300,
"narHash": "sha256-4LflQpktYFiub8xVhEN9EZf1cYsr09md01rBJZRCGCc=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "1fefd7bb8da0eec6755747f410fa491411a94296",
"rev": "70ac18872a5f1a57a4546ff58888bf67a8bbb5b3",
"type": "github"
},
"original": {
@ -979,31 +901,6 @@
"type": "github"
}
},
"n2c_2": {
"inputs": {
"flake-utils": [
"std",
"flake-utils"
],
"nixpkgs": [
"std",
"nixpkgs"
]
},
"locked": {
"lastModified": 1685771919,
"narHash": "sha256-3lVKWrhNXjHJB6QkZ2SJaOs4X/mmYXtY6ovPVpDMOHc=",
"owner": "nlewo",
"repo": "nix2container",
"rev": "95e2220911874064b5d809f8d35f7835184c4ddf",
"type": "github"
},
"original": {
"owner": "nlewo",
"repo": "nix2container",
"type": "github"
}
},
"neovim-flake": {
"inputs": {
"flake-utils": "flake-utils_2",
@ -1155,35 +1052,6 @@
"type": "github"
}
},
"nixago_2": {
"inputs": {
"flake-utils": [
"std",
"flake-utils"
],
"nixago-exts": [
"std",
"blank"
],
"nixpkgs": [
"std",
"nixpkgs"
]
},
"locked": {
"lastModified": 1683210100,
"narHash": "sha256-bhGDOlkWtlhVECpoOog4fWiFJmLCpVEg09a40aTjCbw=",
"owner": "nix-community",
"repo": "nixago",
"rev": "1da60ad9412135f9ed7a004669fdcf3d378ec630",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "nixago",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1678293141,
@ -1202,11 +1070,11 @@
},
"nixpkgs-latest": {
"locked": {
"lastModified": 1687412861,
"narHash": "sha256-Z/g0wbL68C+mSGerYS2quv9FXQ1RRP082cAC0Bh4vcs=",
"lastModified": 1687495334,
"narHash": "sha256-9jaVaWvRbKbhGnQsfH4/1U3Do2u0v5s0hZDRdnp+1j0=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "e603dc5f061ca1d8a19b3ede6a8cf9c9fcba6cdc",
"rev": "0e07d132c5a562f43e823b6b4a0004ed2d91f40e",
"type": "github"
},
"original": {
@ -1348,6 +1216,22 @@
}
},
"nixpkgs_14": {
"locked": {
"lastModified": 1677383253,
"narHash": "sha256-UfpzWfSxkfXHnb4boXZNaKsAcUrZT9Hw+tao1oZxd08=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "9952d6bc395f5841262b006fbace8dd7e143b634",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_15": {
"locked": {
"lastModified": 1681001314,
"narHash": "sha256-5sDnCLdrKZqxLPK4KA8+f4A3YKO/u6ElpMILvX0g72c=",
@ -1362,7 +1246,7 @@
"type": "github"
}
},
"nixpkgs_15": {
"nixpkgs_16": {
"locked": {
"lastModified": 1675940568,
"narHash": "sha256-epG6pOT9V0kS+FUqd7R6/CWkgnZx2DMT5Veqo+y6G3c=",
@ -1378,22 +1262,6 @@
"type": "github"
}
},
"nixpkgs_16": {
"locked": {
"lastModified": 1677063315,
"narHash": "sha256-qiB4ajTeAOVnVSAwCNEEkoybrAlA+cpeiBxLobHndE8=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "988cc958c57ce4350ec248d2d53087777f9e1949",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_2": {
"locked": {
"lastModified": 1685714850,
@ -1507,11 +1375,11 @@
},
"nixpkgs_9": {
"locked": {
"lastModified": 1686960236,
"narHash": "sha256-AYCC9rXNLpUWzD9hm+askOfpliLEC9kwAo7ITJc4HIw=",
"lastModified": 1687412861,
"narHash": "sha256-Z/g0wbL68C+mSGerYS2quv9FXQ1RRP082cAC0Bh4vcs=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "04af42f3b31dba0ef742d254456dc4c14eedac86",
"rev": "e603dc5f061ca1d8a19b3ede6a8cf9c9fcba6cdc",
"type": "github"
},
"original": {
@ -1603,28 +1471,6 @@
"type": "github"
}
},
"paisano-actions_2": {
"inputs": {
"nixpkgs": [
"std",
"paisano-mdbook-preprocessor",
"nixpkgs"
]
},
"locked": {
"lastModified": 1677306424,
"narHash": "sha256-H9/dI2rGEbKo4KEisqbRPHFG2ajF8Tm111NPdKGIf28=",
"owner": "paisano-nix",
"repo": "actions",
"rev": "65ec4e080b3480167fc1a748c89a05901eea9a9b",
"type": "github"
},
"original": {
"owner": "paisano-nix",
"repo": "actions",
"type": "github"
}
},
"paisano-mdbook-preprocessor": {
"inputs": {
"crane": "crane_2",
@ -1654,33 +1500,6 @@
"type": "github"
}
},
"paisano-mdbook-preprocessor_2": {
"inputs": {
"crane": "crane_4",
"fenix": "fenix_2",
"nixpkgs": [
"std",
"nixpkgs"
],
"paisano-actions": "paisano-actions_2",
"std": [
"std"
]
},
"locked": {
"lastModified": 1680654400,
"narHash": "sha256-Qdpio+ldhUK3zfl22Mhf8HUULdUOJXDWDdO7MIK69OU=",
"owner": "paisano-nix",
"repo": "mdbook-paisano-preprocessor",
"rev": "11a8fc47f574f194a7ae7b8b98001f6143ba4cf1",
"type": "github"
},
"original": {
"owner": "paisano-nix",
"repo": "mdbook-paisano-preprocessor",
"type": "github"
}
},
"paisano-tui": {
"inputs": {
"nixpkgs": [
@ -1709,15 +1528,7 @@
}
},
"paisano-tui_2": {
"inputs": {
"nixpkgs": [
"std",
"blank"
],
"std": [
"std"
]
},
"flake": false,
"locked": {
"lastModified": 1681847764,
"narHash": "sha256-mdd7PJW1BZvxy0cIKsPfAO+ohVl/V7heE5ZTAHzTdv8=",
@ -1735,6 +1546,7 @@
},
"paisano_2": {
"inputs": {
"call-flake": "call-flake",
"nixpkgs": [
"std",
"nixpkgs"
@ -1746,16 +1558,15 @@
]
},
"locked": {
"lastModified": 1686862844,
"narHash": "sha256-m8l/HpRBJnZ3c0F1u0IyQ3nYGWE0R9V5kfORuqZPzgk=",
"lastModified": 1687475968,
"narHash": "sha256-tFrPoD24Ph6VZjgmL3J4ICDWY6W/DnnHyupWeAL3Lw8=",
"owner": "paisano-nix",
"repo": "core",
"rev": "6674b3d3577212c1eeecd30d62d52edbd000e726",
"rev": "9954e48e1ebc74a698b9d4ac02aee85514fc0237",
"type": "github"
},
"original": {
"owner": "paisano-nix",
"ref": "0.1.1",
"repo": "core",
"type": "github"
}
@ -1861,23 +1672,6 @@
"type": "github"
}
},
"rust-analyzer-src_2": {
"flake": false,
"locked": {
"lastModified": 1677221702,
"narHash": "sha256-1M+58rC4eTCWNmmX0hQVZP20t3tfYNunl9D/PrGUyGE=",
"owner": "rust-lang",
"repo": "rust-analyzer",
"rev": "f5401f620699b26ed9d47a1d2e838143a18dbe3b",
"type": "github"
},
"original": {
"owner": "rust-lang",
"ref": "nightly",
"repo": "rust-analyzer",
"type": "github"
}
},
"rust-overlay": {
"inputs": {
"flake-utils": [
@ -2001,35 +1795,6 @@
"type": "github"
}
},
"rust-overlay_6": {
"inputs": {
"flake-utils": [
"std",
"paisano-mdbook-preprocessor",
"crane",
"flake-utils"
],
"nixpkgs": [
"std",
"paisano-mdbook-preprocessor",
"crane",
"nixpkgs"
]
},
"locked": {
"lastModified": 1675391458,
"narHash": "sha256-ukDKZw922BnK5ohL9LhwtaDAdCsJL7L6ScNEyF1lO9w=",
"owner": "oxalica",
"repo": "rust-overlay",
"rev": "383a4acfd11d778d5c2efcf28376cbd845eeaedf",
"type": "github"
},
"original": {
"owner": "oxalica",
"repo": "rust-overlay",
"type": "github"
}
},
"sg-nvim": {
"inputs": {
"crane": "crane_3",
@ -2107,7 +1872,6 @@
"blank": "blank_2",
"devshell": "devshell_2",
"dmerge": "dmerge_2",
"flake-utils": "flake-utils_11",
"haumea": "haumea_2",
"incl": "incl_2",
"makes": [
@ -2118,20 +1882,25 @@
"std",
"blank"
],
"n2c": "n2c_2",
"nixago": "nixago_2",
"nixpkgs": "nixpkgs_15",
"n2c": [
"std",
"blank"
],
"nixago": [
"std",
"blank"
],
"nixpkgs": "nixpkgs_16",
"paisano": "paisano_2",
"paisano-mdbook-preprocessor": "paisano-mdbook-preprocessor_2",
"paisano-tui": "paisano-tui_2",
"yants": "yants_2"
},
"locked": {
"lastModified": 1687300684,
"narHash": "sha256-oBqbss0j+B568GoO3nF2BCoPEgPxUjxfZQGynW6mhEk=",
"lastModified": 1687482460,
"narHash": "sha256-KSut2GPMR//LJ62cMpHk+b8AHlDHWaSHTxCABzLY2yM=",
"owner": "divnix",
"repo": "std",
"rev": "80e5792eae98353a97ab1e85f3fba2784e4a3690",
"rev": "1dfd574de0d2e3011d8df7ade3a3f2748b701a6d",
"type": "github"
},
"original": {

View File

@ -9,7 +9,10 @@
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
nixpkgs-latest.url = "github:nixos/nixpkgs";
# deploy-rs.url = "github:serokell/deploy-rs";
std.url = "github:divnix/std";
std = {
url = "github:divnix/std";
inputs.devshell.url = "github:numtide/devshell";
};
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";

View File

@ -120,7 +120,6 @@ font:
# - (Linux/BSD) monospace
# - (Windows) Consolas
family: DroidSansMono NF
# The `style` can be specified to pick a specific face.
#style: Regular
@ -159,7 +158,6 @@ font:
# Point size
size: 7.0
# Offset is the extra space around each character. `offset.y` can be thought
# of as modifying the line spacing, and `offset.x` as modifying the letter
# spacing.
@ -771,7 +769,12 @@ key_bindings:
# Vi Mode
#- { key: Space, mods: Shift|Control, mode: ~Search, action: ToggleViMode }
- { key: Escape, mods: Shift, mode: ~Search, action: ToggleViMode }
- {
key: Escape,
mods: Shift,
mode: ~Search,
action: ToggleViMode
}
#- { key: Space, mods: Shift|Control, mode: Vi|~Search, action: ScrollToBottom }
#- { key: Escape, mode: Vi|~Search, action: ClearSelection }
#- { key: I, mode: Vi|~Search, action: ToggleViMode }
@ -836,7 +839,7 @@ key_bindings:
# (Windows, Linux, and BSD only)
- { key: V, mods: Control|Shift, mode: ~Vi, action: Paste }
- { key: C, mods: Control|Shift, action: Copy }
- { key: Return, mods: Alt, action: ToggleFullscreen }
# - { key: Return, mods: Alt, action: ToggleFullscreen }
#- { key: F, mods: Control|Shift, mode: ~Search, action: SearchForward }
#- { key: B, mods: Control|Shift, mode: ~Search, action: SearchBackward }
#- { key: C, mods: Control|Shift, mode: Vi|~Search, action: ClearSelection }
@ -866,7 +869,9 @@ key_bindings:
#- { key: Q, mods: Command, action: Quit }
#- { key: W, mods: Command, action: Quit }
#- { key: N, mods: Command, action: SpawnNewInstance }
- { key: Return, mods: Command, action: ToggleFullscreen }
# NOTE: Use Command + Control + F
#
# - { key: Return, mods: Command, action: ToggleFullscreen }
#- { key: F, mods: Command, mode: ~Search, action: SearchForward }
#- { key: B, mods: Command, mode: ~Search, action: SearchBackward }

View File

@ -0,0 +1,117 @@
# Font configuration
font_family Hack Nerd Font Mono
bold_font Hack Nerd Font Mono Bold
italic_font Hack Nerd Font Mono Italic
bold_italic_font Hack Nerd Font Mono Bold Italic
font_size 11.0
sync_to_monitor no
disable_ligatures never
# NO BELLS!
enable_audio_bell no
# theme gruvbox_dark
# include /themes/gruvbox_dark.conf
# window_margin_width 5.0
# window_padding_width 5.0
# I'm on Prime's team here, blinking cursor is too distracting
cursor_blink_interval 0
background #282c34
dynamic_background_opacity true
background_opacity 0.97
macos_traditional_fullscreen no
# from nvim-nonicons
# symbol_map U+f101-U+f208 nonicon regular
# No creating windows
map ctrl+shift+enter no_op
map cmd+enter no_op
# I don't understand why some of these have remaps on MacOS
map ctrl+shift+n no_op # new_os_window
map cmd+n no_op # new_os_window
map ctrl+shift+w close_window
map shft+cmd+d no_op # just disable any apple-linux segregation
# tabs
## Tab creation
map ctrl+shift+t combine | new_tab | set_tab_title _
map cmd+t no_op
map ctrl+, set_tab_title _
## No tab destruction
map ctrl+shift+q no_op
map ctrl+shift+w no_op
map cmd+w no_op # close_tab 🍎
## No tab iteration
map ctrl+shift+right no_op # next_tab
map shift+cmd+] no_op # next_tab 🍎
map ctrl+tab no_op # next_tab
map ctrl+shift+left no_op # previous_tab
map shift+cmd+[ no_op # previous_tab 🍎
map ctrl+shift+tab no_op # previous_tab
map ctrl+shift+. no_op # move_tab_forward
## Tab linear jumping
map ctrl+1 goto_tab 1
map ctrl+2 goto_tab 2
map ctrl+3 goto_tab 3
map ctrl+4 goto_tab 4
map ctrl+5 goto_tab 5
map ctrl+6 goto_tab 6
map ctrl+7 goto_tab 7
map ctrl+8 goto_tab 8
map ctrl+9 goto_tab 9
map ctrl+0 goto_tab 10
### A bit ergonomics for mac
map cmd+1 goto_tab 1
map cmd+2 goto_tab 2
map cmd+3 goto_tab 3
map cmd+4 goto_tab 4
map cmd+5 goto_tab 5
map cmd+6 goto_tab 6
map cmd+7 goto_tab 7
map cmd+8 goto_tab 8
map cmd+9 goto_tab 9
map cmd+0 goto_tab 10
## Just disable all iteration of tab - use linear mapping
map ctrl+shift+right no_op
map shift+cmd+] no_op
map ctrl+tab no_op
map ctrl+shift+left no_op
map shift+cmd+[ no_op
map ctrl+shift+tab no_op
## Titles
tab_bar_edge top
tab_fade 0.6 1
tab_title_template "{fmt.fg.red}{bell_symbol}{activity_symbol}{fmt.fg.tab}{index}|{title}{(lambda parts: '/'.join([p if len(p) <= 2 else p[:2]+'…' for p in parts[:-1]] + [parts[-1]]))(tab.active_wd.split('/'))}"
active_tab_font_style bold
active_tab_foreground #000
active_tab_background #eee
inactive_tab_foreground #444
inactive_tab_background #999
map ctrl+shift+, set_tab_title
map ctrl+shift+alt+t no_op # set_tab_title
map shift+cmd+i no_op # set_tab_title
# map ctrl+shift+p>n kitten hints --type=linenum --linenum-action=tab nvim +{line} {path}
# I don't really have good way to ever press F1
# map f1 kitten hints --customize-processing hint_define_word.py

View File

@ -21,6 +21,7 @@
base-modules = [
home-profiles.alacritty
home-profiles.kitty
home-profiles.git
home-profiles.ssh
home-profiles.shells

View File

@ -150,6 +150,33 @@ in {
};
};
kitty = {
config,
lib,
# pkgs,
...
}: let
cfg = config."${namespace}".kitty;
in {
options."${namespace}".kitty = {
enable = lib.mkOption {
type = lib.types.bool;
default = false;
description = "Enables kitty";
};
conf = lib.mkOption {
type = lib.types.nullOr lib.types.path;
default = null;
description = "Path to kitty.conf. See https://sw.kovidgoyal.net/kitty/conf.html";
example = "../../../native_configs/kitty/kitty.conf";
};
};
config.programs.kitty = {
enable = cfg.enable;
extraConfig = lib.mkIf (cfg.conf != null) (builtins.readFile cfg.conf);
};
};
# TODO: chromium is not really supported on darwin
private_chromium = {
config,

View File

@ -67,9 +67,7 @@ in {
config,
lib,
...
}: let
cfg = config."${namespace}".alacritty;
in {
}: {
imports = [
inputs.cells.repo.home-modules.alacritty
];
@ -81,6 +79,20 @@ in {
};
};
kitty = {
config,
lib,
...
}: {
imports = [
inputs.cells.repo.home-modules.kitty
];
config."${namespace}".kitty = {
enable = true;
conf = "${inputs.self}/native_configs/kitty/kitty.conf";
};
};
shells = import ./shells.nix imports;
git = {