Update docs and remove slambda references
This commit is contained in:
parent
03b97cce9c
commit
fd3af8a1f6
29
README.md
29
README.md
|
@ -6,9 +6,10 @@ In case you are not familiar with nix/nixos, this is a collection of configurati
|
|||
|
||||
## Features this repository includes:
|
||||
|
||||
- Consistent base16 theming using [stylix](https://github.com/danth/stylix)
|
||||
- [sops-nix](https://github.com/Mic92/sops-nix) based secret management
|
||||
- Sets up all the apps I use — including git, neovim, fish, tmux, starship, hyprland, anyrun, discord, zathura, wezterm & much more.
|
||||
- Sets up my entire homelab — including zfs-based [impermanence](https://grahamc.com/blog/erase-your-darlings), automatic let's-encrypt certificates, tailscale, syncthing, vaultwarden, whoogle, pounce, calico, smos, intray & more.
|
||||
- Consistent base16 theming using [stylix](https://github.com/danth/stylix)
|
||||
- Declarative secret management using [sops-nix](https://github.com/Mic92/sops-nix)
|
||||
|
||||
The current state of this repo is a refactor of my old, messy nixos config, based on the structure of [this template](https://github.com/Misterio77/nix-starter-configs).
|
||||
|
||||
|
@ -16,9 +17,10 @@ The current state of this repo is a refactor of my old, messy nixos config, base
|
|||
|
||||
This repo's structure is based on the concept of hosts - individual machines configured by me. I'm naming each host based on things in space/mythology (_they are the same picture_). The hosts I have right now are:
|
||||
|
||||
- [tethys](./hosts/nixos/tethys/) - my personal laptop
|
||||
- [lapetus](./hosts/nixos/lapetus/) - older laptop running as a server
|
||||
- [euporie](./hosts/nixos/euporie/) - barebones host for testing things insdie a VM
|
||||
- [tethys](./hosts/nixos/tethys/) — my personal laptop
|
||||
- [lapetus](./hosts/nixos/lapetus/) — older laptop running as a server
|
||||
- [euporie](./hosts/nixos/euporie/) — barebones host for testing things insdie a VM
|
||||
- enceladus — my android phone. Although not configured using nix, this name gets referenced in some places
|
||||
|
||||
## File structure
|
||||
|
||||
|
@ -54,10 +56,14 @@ Here's some things you might want to check out:
|
|||
- [Home-manager](https://github.com/nix-community/home-manager) — manage user configuration using nix
|
||||
- [Impernanence](https://github.com/nix-community/impermanence) — see the article about [erasing your darlings](https://grahamc.com/blog/erase-your-darlings)
|
||||
- [Sops-nix](https://github.com/Mic92/sops-nix) — secret management
|
||||
- [Slambda](https://github.com/Mateiadrielrafael/slambda) — custom keyboard chording utility
|
||||
- [disko](https://github.com/nix-community/disko) — format disks using nix
|
||||
- [zfs](https://openzfs.org/wiki/Main_Page) — filesystem
|
||||
|
||||
### Input handling
|
||||
|
||||
- [kanta](https://github.com/jtroo/kanata) — software-level keyboard layout customizer. One of the few such programs with support for chording
|
||||
- [opentabletdriver](https://opentabletdriver.net/)
|
||||
|
||||
### Graphical
|
||||
|
||||
- [Stylix](https://github.com/danth/stylix) — base16 module for nix
|
||||
|
@ -76,6 +82,7 @@ Here's some things you might want to check out:
|
|||
- [Firefox](https://www.mozilla.org/en-US/firefox/) — web browser
|
||||
- [Tesseract](https://github.com/tesseract-ocr/tesseract) — OCR engine
|
||||
- [Obsidian](https://obsidian.md/) — note taking software
|
||||
- [Bitwarden](https://bitwarden.com/) — client for self-hosted password manager
|
||||
|
||||
### Terminal
|
||||
|
||||
|
@ -89,11 +96,10 @@ Here's some things you might want to check out:
|
|||
- [Fish](https://fishshell.com/) — user friendly shell
|
||||
- [Starship](https://starship.rs/) — shell prompt
|
||||
- [Ranger](https://github.com/ranger/ranger) — file manager
|
||||
- [GPG](https://gnupg.org/) + [pass](https://www.passwordstore.org/)
|
||||
- [Catgirl](https://git.causal.agency/catgirl/about/) — irc client
|
||||
- Self management:
|
||||
- [Smos](https://github.com/NorfairKing/smos) — A comprehensive self-management System.
|
||||
- [Intray](https://github.com/NorfairKing/intray) — GTD capture tool.
|
||||
- [Smos](https://github.com/NorfairKing/smos) — selfhosted comprehensive self-management System
|
||||
- [Intray](https://github.com/NorfairKing/intray) — selfhosted GTD capture tool
|
||||
|
||||
### Services
|
||||
|
||||
|
@ -102,11 +108,16 @@ Most services are served over [tailscale](https://tailscale.com/), using certifi
|
|||
- [Syncthing](https://syncthing.net/) — file synchronization
|
||||
- [Whoogle](https://github.com/benbusby/whoogle-search#manual-docker) — search engine
|
||||
- [Pounce](https://git.causal.agency/pounce/about/) & [calico](https://git.causal.agency/pounce/about/calico.1) — irc bouncer
|
||||
- [Vaultwarden](https://github.com/dani-garcia/vaultwarden/) — password manager
|
||||
- [Smos](https://github.com/NorfairKing/smos) — a comprehensive self-management System.
|
||||
- [Intray](https://github.com/NorfairKing/intray) — GTD capture tool.
|
||||
|
||||
## Hall of fame
|
||||
|
||||
Includes links to stuff which used to be in the previous section but is not used anymore. Only created this section in June 2023, so stuff I used earlier might not be here. Sorted with the most recently dropped things at the top.
|
||||
|
||||
- [Slambda](https://github.com/Mateiadrielrafael/slambda) — custom keyboard chording utility. I retired the project in favour of [kanta](https://github.com/jtroo/kanata)
|
||||
- [GPG](https://gnupg.org/) + [pass](https://www.passwordstore.org/) — I switched to [vaultwarden](https://github.com/dani-garcia/vaultwarden/)
|
||||
- [Agenix](https://github.com/ryantm/agenix) & [homeage](https://github.com/jordanisaacs/homeage) — I switched to [sops-nix](https://github.com/Mic92/sops-nix)
|
||||
- [Mind.nvim](https://github.com/phaazon/mind.nvim) — self management tree editor. The project got archived, so I switched to [Smos](https://github.com/NorfairKing/smos).
|
||||
- [Null-ls](https://github.com/jose-elias-alvarez/null-ls.nvim) — general purpose neovim LSP. The project got archived, so I switched to [formatter.nvim](https://github.com/mhartington/formatter.nvim).
|
||||
|
|
21
flake.lock
21
flake.lock
|
@ -2548,7 +2548,6 @@
|
|||
"nixpkgs-wayland": "nixpkgs-wayland",
|
||||
"nur": "nur",
|
||||
"rosepine-base16": "rosepine-base16",
|
||||
"slambda": "slambda",
|
||||
"smos": "smos",
|
||||
"sops-nix": "sops-nix",
|
||||
"spicetify-nix": "spicetify-nix",
|
||||
|
@ -2745,26 +2744,6 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"slambda": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1684623545,
|
||||
"narHash": "sha256-aoGWkm9rxqIXuTHelBNpRje/AsG27wZHNjGNaKgvhPU=",
|
||||
"owner": "Mateiadrielrafael",
|
||||
"repo": "slambda",
|
||||
"rev": "93e3a98c57044e7900980019da349b20edb6a938",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "Mateiadrielrafael",
|
||||
"repo": "slambda",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"smos": {
|
||||
"inputs": {
|
||||
"autodocodec": "autodocodec_2",
|
||||
|
|
|
@ -92,10 +92,6 @@
|
|||
# Spotify client with theming support
|
||||
spicetify-nix.url = "github:the-argus/spicetify-nix";
|
||||
spicetify-nix.inputs.nixpkgs.follows = "nixpkgs";
|
||||
|
||||
# Keyboard configuration (to be replaced by kanata at some point)
|
||||
slambda.url = "github:Mateiadrielrafael/slambda";
|
||||
slambda.inputs.nixpkgs.follows = "nixpkgs";
|
||||
# }}}
|
||||
# {{{ Theming
|
||||
# Grub2 themes
|
||||
|
|
|
@ -102,8 +102,7 @@ let
|
|||
(unmap "Q")
|
||||
# }}}
|
||||
# {{{ Chords
|
||||
# Different chords get remapped to f-keys by my slambda config.
|
||||
# See [my slambda config](../../../hosts/nixos/common/optional/services/slambda.nix) for details.
|
||||
# Different chords get remapped to f-keys by my [my kaanta config](../../../hosts/nixos/common/optional/services/kanata.nix).
|
||||
#
|
||||
# Exit insert mode using *jk*
|
||||
(keymap "iv" "<f10>" "<esc>" "Exit insert mode")
|
||||
|
|
|
@ -8,7 +8,6 @@ let
|
|||
inputs.disko.nixosModules.default
|
||||
inputs.stylix.nixosModules.stylix
|
||||
inputs.nur.nixosModules.nur
|
||||
inputs.slambda.nixosModule
|
||||
inputs.sops-nix.nixosModules.sops
|
||||
# }}}
|
||||
# {{{ global configuration
|
||||
|
|
|
@ -1,85 +0,0 @@
|
|||
let
|
||||
chord = from: to: { inherit from to; };
|
||||
unmap = from: chord from [ ];
|
||||
# I want my brackets to be aligned
|
||||
sem = "semicolon";
|
||||
commonChords = [
|
||||
# {{{ Modifiers
|
||||
# {{{ right
|
||||
(chord [ "l" "n" ] [ "rightmeta" ])
|
||||
(chord [ "k" "l" ] [ "rightshift" ])
|
||||
(chord [ "j" "l" ] [ "rightctrl" ])
|
||||
(chord [ "l" sem ] [ "rightalt" ])
|
||||
(chord [ "j" "k" "l" ] [ "rightctrl" "rightshift" ])
|
||||
(chord [ "k" "l" sem ] [ "rightalt" "rightshift" ])
|
||||
(chord [ "j" "k" "l" sem ] [ "rightalt" "rightctrl" "rightshift" ])
|
||||
(unmap [ "rightshift" ])
|
||||
(unmap [ "rightctrl" ])
|
||||
(unmap [ "rightalt" ])
|
||||
(unmap [ "rightmeta" ])
|
||||
# }}}
|
||||
# {{{ left
|
||||
(chord [ "s" "d" ] [ "leftshift" ])
|
||||
(chord [ "s" "f" ] [ "leftctrl" ])
|
||||
(chord [ "s" "a" ] [ "leftalt" ])
|
||||
(chord [ "s" "d" "f" ] [ "leftctrl" "leftshift" ])
|
||||
(chord [ "a" "s" "d" ] [ "leftalt" "leftshift" ])
|
||||
(chord [ "a" "s" "d" "f" ] [ "leftalt" "leftctrl" "leftshift" ])
|
||||
(unmap [ "leftalt" ])
|
||||
(unmap [ "leftctrl" ])
|
||||
# (unmap [ "leftshift" ]) # Useful for touhou
|
||||
# }}}
|
||||
# }}}
|
||||
# {{{ Other special keys
|
||||
(chord [ "g" "h" ] [ "backspace" ])
|
||||
(chord [ "n" "v" ] [ "backslash" ])
|
||||
(chord [ "d" "f" ] [ "tab" ])
|
||||
(chord [ "e" "f" ] [ "enter" ])
|
||||
(chord [ "q" "w" ] [ "esc" ])
|
||||
(unmap [ "backspace" ])
|
||||
(unmap [ "enter" ])
|
||||
(unmap [ "tab" ])
|
||||
(unmap [ "esc" ])
|
||||
(unmap [ "backslash" ])
|
||||
# }}}
|
||||
# {{{ Tmux
|
||||
(chord [ "a" "n" "k" "l" ] [ "leftctrl" "a" "n" ]) # Next tab in tmux
|
||||
(chord [ "a" "j" "l" ] [ "leftctrl" "a" ]) # Tmux leader
|
||||
# }}}
|
||||
# {{{ WM keybinds
|
||||
(chord [ "n" "l" "q" ] [ "leftmeta" "1" ])
|
||||
(chord [ "n" "l" "w" ] [ "leftmeta" "2" ])
|
||||
(chord [ "n" "l" "e" ] [ "leftmeta" "3" ])
|
||||
(chord [ "n" "l" "r" ] [ "leftmeta" "4" ])
|
||||
(chord [ "n" "l" "a" ] [ "leftmeta" "5" ])
|
||||
(chord [ "n" "l" "s" ] [ "leftmeta" "6" ])
|
||||
(chord [ "n" "l" "d" ] [ "leftmeta" "7" ])
|
||||
(chord [ "n" "l" "f" ] [ "leftmeta" "8" ])
|
||||
(chord [ "n" "l" "z" ] [ "leftmeta" "9" ])
|
||||
(chord [ "n" "l" "x" ] [ "leftmeta" "0" ])
|
||||
(chord [ "n" "k" "l" ] [ "leftmeta" "p" ])
|
||||
# }}}
|
||||
# {{{ Handled by vim
|
||||
(chord [ "j" "k" ] [ "f10" ])
|
||||
(chord [ "c" "p" ] [ "f11" ])
|
||||
(chord [ "j" "i" ] [ "f12" ])
|
||||
# }}}
|
||||
];
|
||||
in
|
||||
{
|
||||
services.slambda = {
|
||||
enable = true;
|
||||
|
||||
keyboards.keychronK6 = {
|
||||
delay = 30;
|
||||
device = "/dev/input/by-id/usb-Keychron_Keychron_K6-event-kbd";
|
||||
chords = commonChords;
|
||||
};
|
||||
|
||||
keyboards.tethysLaptop = {
|
||||
delay = 30;
|
||||
device = "/dev/input/by-path/platform-i8042-serio-0-event-kbd";
|
||||
chords = commonChords;
|
||||
};
|
||||
};
|
||||
}
|
|
@ -2,7 +2,7 @@
|
|||
imports = [
|
||||
../common/global
|
||||
../common/users/adrielus.nix
|
||||
../common/optional/services/slambda.nix
|
||||
../common/optional/services/kanata.nix
|
||||
|
||||
./services/syncthing.nix
|
||||
./services/whoogle.nix
|
||||
|
|
|
@ -8,7 +8,6 @@
|
|||
../common/optional/greetd.nix
|
||||
../common/optional/quietboot.nix
|
||||
../common/optional/desktop/steam.nix
|
||||
# ../common/optional/services/slambda.nix
|
||||
../common/optional/services/kanata.nix
|
||||
../common/optional/desktop/xdg-portal.nix
|
||||
../common/optional/wayland/hyprland.nix
|
||||
|
|
Loading…
Reference in a new issue