1
Fork 0

Update docs and remove slambda references

This commit is contained in:
prescientmoon 2024-02-20 00:51:01 +01:00
parent 03b97cce9c
commit fd3af8a1f6
Signed by: prescientmoon
SSH key fingerprint: SHA256:UUF9JT2s8Xfyv76b8ZuVL7XrmimH4o49p4b+iexbVH4
8 changed files with 22 additions and 124 deletions

View file

@ -6,9 +6,10 @@ In case you are not familiar with nix/nixos, this is a collection of configurati
## Features this repository includes: ## 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 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). 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: 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 - [tethys](./hosts/nixos/tethys/) — my personal laptop
- [lapetus](./hosts/nixos/lapetus/) - older laptop running as a server - [lapetus](./hosts/nixos/lapetus/) — older laptop running as a server
- [euporie](./hosts/nixos/euporie/) - barebones host for testing things insdie a VM - [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 ## 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 - [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) - [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 - [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 - [disko](https://github.com/nix-community/disko) — format disks using nix
- [zfs](https://openzfs.org/wiki/Main_Page) — filesystem - [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 ### Graphical
- [Stylix](https://github.com/danth/stylix) — base16 module for nix - [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 - [Firefox](https://www.mozilla.org/en-US/firefox/) — web browser
- [Tesseract](https://github.com/tesseract-ocr/tesseract) — OCR engine - [Tesseract](https://github.com/tesseract-ocr/tesseract) — OCR engine
- [Obsidian](https://obsidian.md/) — note taking software - [Obsidian](https://obsidian.md/) — note taking software
- [Bitwarden](https://bitwarden.com/) — client for self-hosted password manager
### Terminal ### Terminal
@ -89,11 +96,10 @@ Here's some things you might want to check out:
- [Fish](https://fishshell.com/) — user friendly shell - [Fish](https://fishshell.com/) — user friendly shell
- [Starship](https://starship.rs/) — shell prompt - [Starship](https://starship.rs/) — shell prompt
- [Ranger](https://github.com/ranger/ranger) — file manager - [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 - [Catgirl](https://git.causal.agency/catgirl/about/) — irc client
- Self management: - Self management:
- [Smos](https://github.com/NorfairKing/smos) — A comprehensive self-management System. - [Smos](https://github.com/NorfairKing/smos) — selfhosted comprehensive self-management System
- [Intray](https://github.com/NorfairKing/intray) — GTD capture tool. - [Intray](https://github.com/NorfairKing/intray) — selfhosted GTD capture tool
### Services ### Services
@ -102,11 +108,16 @@ Most services are served over [tailscale](https://tailscale.com/), using certifi
- [Syncthing](https://syncthing.net/) — file synchronization - [Syncthing](https://syncthing.net/) — file synchronization
- [Whoogle](https://github.com/benbusby/whoogle-search#manual-docker) — search engine - [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 - [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 ## 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. 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) - [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). - [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). - [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).

View file

@ -2548,7 +2548,6 @@
"nixpkgs-wayland": "nixpkgs-wayland", "nixpkgs-wayland": "nixpkgs-wayland",
"nur": "nur", "nur": "nur",
"rosepine-base16": "rosepine-base16", "rosepine-base16": "rosepine-base16",
"slambda": "slambda",
"smos": "smos", "smos": "smos",
"sops-nix": "sops-nix", "sops-nix": "sops-nix",
"spicetify-nix": "spicetify-nix", "spicetify-nix": "spicetify-nix",
@ -2745,26 +2744,6 @@
"type": "github" "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": { "smos": {
"inputs": { "inputs": {
"autodocodec": "autodocodec_2", "autodocodec": "autodocodec_2",

View file

@ -92,10 +92,6 @@
# Spotify client with theming support # Spotify client with theming support
spicetify-nix.url = "github:the-argus/spicetify-nix"; spicetify-nix.url = "github:the-argus/spicetify-nix";
spicetify-nix.inputs.nixpkgs.follows = "nixpkgs"; 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 # {{{ Theming
# Grub2 themes # Grub2 themes

View file

@ -102,8 +102,7 @@ let
(unmap "Q") (unmap "Q")
# }}} # }}}
# {{{ Chords # {{{ Chords
# Different chords get remapped to f-keys by my slambda config. # Different chords get remapped to f-keys by my [my kaanta config](../../../hosts/nixos/common/optional/services/kanata.nix).
# See [my slambda config](../../../hosts/nixos/common/optional/services/slambda.nix) for details.
# #
# Exit insert mode using *jk* # Exit insert mode using *jk*
(keymap "iv" "<f10>" "<esc>" "Exit insert mode") (keymap "iv" "<f10>" "<esc>" "Exit insert mode")

View file

@ -8,7 +8,6 @@ let
inputs.disko.nixosModules.default inputs.disko.nixosModules.default
inputs.stylix.nixosModules.stylix inputs.stylix.nixosModules.stylix
inputs.nur.nixosModules.nur inputs.nur.nixosModules.nur
inputs.slambda.nixosModule
inputs.sops-nix.nixosModules.sops inputs.sops-nix.nixosModules.sops
# }}} # }}}
# {{{ global configuration # {{{ global configuration

View file

@ -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;
};
};
}

View file

@ -2,7 +2,7 @@
imports = [ imports = [
../common/global ../common/global
../common/users/adrielus.nix ../common/users/adrielus.nix
../common/optional/services/slambda.nix ../common/optional/services/kanata.nix
./services/syncthing.nix ./services/syncthing.nix
./services/whoogle.nix ./services/whoogle.nix

View file

@ -8,7 +8,6 @@
../common/optional/greetd.nix ../common/optional/greetd.nix
../common/optional/quietboot.nix ../common/optional/quietboot.nix
../common/optional/desktop/steam.nix ../common/optional/desktop/steam.nix
# ../common/optional/services/slambda.nix
../common/optional/services/kanata.nix ../common/optional/services/kanata.nix
../common/optional/desktop/xdg-portal.nix ../common/optional/desktop/xdg-portal.nix
../common/optional/wayland/hyprland.nix ../common/optional/wayland/hyprland.nix