From fa93ddee95e28e50238b773131786b8b202586ed Mon Sep 17 00:00:00 2001 From: Matei Adriel Date: Fri, 21 Jul 2023 19:30:48 +0300 Subject: [PATCH] Doc changes and more --- README.md | 112 +++++++++++------- home/features/cli/gpg.nix | 3 +- hosts/nixos/common/global/openssh.nix | 1 + .../nixos/common/global/wireless/default.nix | 11 +- .../common/global/wireless/wifi_passwords.age | Bin 687 -> 665 bytes .../nixos/common/optional/xmonad/default.nix | 2 +- hosts/nixos/tethys/default.nix | 3 - 7 files changed, 77 insertions(+), 55 deletions(-) diff --git a/README.md b/README.md index 1ed60ab..cc29965 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,8 @@ # Welcome to _the Satellite_ -In case you are not familiar with nix/nixos, this is a collection of configuration files which build my entire system in a declarative manner. The tool used to configure the global system is called [nixos](https://nixos.org/), and the one used to configure the individual users is called [home-manager](https://github.com/nix-community/home-manager). +In case you are not familiar with nix/nixos, this is a collection of configuration files which build all my systems in a declarative manner. The tool used to configure the global system is called [nixos](https://nixos.org/), and the one used to configure the individual users is called [home-manager](https://github.com/nix-community/home-manager). -### Features this repository includes: +## Features this repository includes: - Consistent base16 theming using [stylix](https://github.com/danth/stylix) - [Agenix](https://github.com/ryantm/agenix) & [homeage](https://github.com/jordanisaacs/homeage) based secret management @@ -10,14 +10,15 @@ In case you are not familiar with nix/nixos, this is a collection of configurati 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). -### Hosts +## Hosts 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) - my personal laptop -- [euporie](./hosts/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 -### File structure +## File structure | Location | Description | | ---------------------------- | ------------------------------------------------------------------ | @@ -34,59 +35,78 @@ This repo's structure is based on the concept of hosts - individual machines con | [nixpkgs.nix](./nixpkgs.nix) | Pinned nixpkgs for bootstrapping | | [secrets.nix](./secrets.nix) | Agenix entrypoint | -### Points of interest +## Points of interest Here's some things you might want to check out: - My [neovim config](./dotfiles/neovim) - The [flake](./flake.nix) entrypoint for this repository -### Links to everything used here: +## Things I use -> Well, this does not include links to every plugin I used for every program here, you can see more details in the respective configurations +> This does not include links to every plugin I used for every program here. You can see more details in the respective configurations. -- [Nixos](http://nixos.org/) - nix based operating system -- [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) -- [Stylix](https://github.com/danth/stylix) - base16 module for nix - - [Base16 templates](https://github.com/chriskempson/base16-templates-source) - list of base16 theme templates - - [Catpuccin](https://github.com/catppuccin/catppuccin) - base16 theme I use - - [Rosepine](https://rosepinetheme.com/) - another theme I use -- [Agenix](https://github.com/ryantm/agenix) & [homeage](https://github.com/jordanisaacs/homeage) - secret management -- [Xmonad](https://xmonad.org/) - xorg window manager - - [Polybar](https://github.com/polybar/polybar) - desktop bar - - [Rofi](https://github.com/davatorium/rofi) - program launcher - - [Spectacle](https://apps.kde.org/spectacle/) - screenshot tool -- [Hyprland](https://hyprland.org/) - wayland compositor - - [Wlogout](https://github.com/ArtsyMacaw/wlogout) - wayland logout menu - - [Wofi](https://sr.ht/~scoopta/wofi/) - program launcher - - [Hyprpicker](https://github.com/hyprwm/hyprpicker) - hyprland color picker - - [Grimblast](https://github.com/hyprwm/contrib/tree/main/grimblast) - screenshot tool - - [Dunst](https://dunst-project.org/) - notification daemon - - [Wlsunset](https://sr.ht/~kennylevinsen/wlsunset/) - day/night screen gamma adjustements -- [Neovim](https://neovim.io/) - my editor - - [Neovide](https://neovide.dev/index.html) - neovim gui client - - [Vimclip](https://github.com/hrantzsch/vimclip) - vim anywhere! - - [Firenvim](https://github.com/glacambre/firenvim) - embed neovim in web browsers -- [Tmux](https://github.com/tmux/tmux/wiki) - terminal multiplexer -- [Alacritty](https://github.com/alacritty/alacritty) - terminal emulator -- [Wezterm](https://wezfurlong.org/wezterm/) - terminal emulator -- [Fish](https://fishshell.com/) - user friendly shell - - [Starship](https://starship.rs/) - shell prompt -- [Zathura](https://pwmt.org/projects/zathura/) - pdf viewer -- [Ranger](https://github.com/ranger/ranger) - file manager -- [Firefox](https://www.mozilla.org/en-US/firefox/) - web browser -- [Tesseract](https://github.com/tesseract-ocr/tesseract) - OCR engine -- [Slambda](https://github.com/Mateiadrielrafael/slambda) - custom keyboard chording utility +### Fundamentals -### Hall of fame +- [Nixos](http://nixos.org/) — nix based operating system +- [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) +- [Agenix](https://github.com/ryantm/agenix) & [homeage](https://github.com/jordanisaacs/homeage) — 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 + +### Graphical + +- [Stylix](https://github.com/danth/stylix) — base16 module for nix + - [Base16 templates](https://github.com/chriskempson/base16-templates-source) — list of base16 theme templates + - [Catpuccin](https://github.com/catppuccin/catppuccin) — base16 theme I use + - [Rosepine](https://rosepinetheme.com/) — another theme I use +- [Hyprland](https://hyprland.org/) — wayland compositor + - [Wlogout](https://github.com/ArtsyMacaw/wlogout) — wayland logout menu + - [Wofi](https://sr.ht/~scoopta/wofi/) — program launcher + - [Hyprpicker](https://github.com/hyprwm/hyprpicker) — hyprland color picker + - [Grimblast](https://github.com/hyprwm/contrib/tree/main/grimblast) — screenshot tool + - [Dunst](https://dunst-project.org/) — notification daemon + - [Wlsunset](https://sr.ht/~kennylevinsen/wlsunset/) — day/night screen gamma adjustements +- [Wezterm](https://wezfurlong.org/wezterm/) — terminal emulator +- [Zathura](https://pwmt.org/projects/zathura/) — pdf viewer +- [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 + +### Terminal + +> There are many clis I use which I did not include here, for the sake of brevity. + +- [Neovim](https://neovim.io/) — my editor + - [Neovide](https://neovide.dev/index.html) — neovim gui client + - [Vimclip](https://github.com/hrantzsch/vimclip) — vim anywhere! + - [Firenvim](https://github.com/glacambre/firenvim) — embed neovim in web browsers +- [Tmux](https://github.com/tmux/tmux/wiki) — terminal multiplexer +- [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/) + +### Services + +- [Syncthing](https://syncthing.net/) — file synchronization + +## 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. -### Future +- [Alacritty](https://github.com/alacritty/alacritty) — terminal emulator +- [Xmonad](https://xmonad.org/) — xorg window manager + - [Polybar](https://github.com/polybar/polybar) — desktop bar + - [Rofi](https://github.com/davatorium/rofi) — program launcher + - [Spectacle](https://apps.kde.org/spectacle/) — screenshot tool +- [Chrome](https://www.google.com/chrome/) — web browser + +## Future Tooling I might use in the future: + - [nix-darwin](https://github.com/LnL7/nix-darwin) - like nixos but for macs -- [disko](https://github.com/nix-community/disko) - format disks using nix -- [zfs](https://openzfs.org/wiki/Main_Page) - filesystem - [eww](https://github.com/elkowar/eww) - widget framework diff --git a/home/features/cli/gpg.nix b/home/features/cli/gpg.nix index 35706a1..32240aa 100644 --- a/home/features/cli/gpg.nix +++ b/home/features/cli/gpg.nix @@ -1,7 +1,8 @@ { pkgs, config, ... }: let pinentry = - if config.gtk.enable then { + # if config.gtk.enable then { + if false then { packages = [ pkgs.pinentry-gnome pkgs.gcr ]; name = "gnome3"; } else { diff --git a/hosts/nixos/common/global/openssh.nix b/hosts/nixos/common/global/openssh.nix index 6c4e836..6d9a9ff 100644 --- a/hosts/nixos/common/global/openssh.nix +++ b/hosts/nixos/common/global/openssh.nix @@ -39,6 +39,7 @@ in }; # Passwordless sudo when SSH'ing with keys + # TODO: is this safe? Can we ssh back and gain root access this way? security.pam.enableSSHAgentAuth = true; # SSH on slow connections diff --git a/hosts/nixos/common/global/wireless/default.nix b/hosts/nixos/common/global/wireless/default.nix index f4f2c45..16e28c5 100644 --- a/hosts/nixos/common/global/wireless/default.nix +++ b/hosts/nixos/common/global/wireless/default.nix @@ -11,11 +11,14 @@ environmentFile = config.age.secrets.wireless.path; networks = { "Neptune".psk = "@ENCELADUS_HOTSPOT_PASS@"; - "Familia-Matei".psk = "@TG_HOME_PASS@"; - "Familia-Matei-PRO".psk = "@TG_HOME_PASS@"; - "Sailhorse".psk = "@NL_PLACE_0_PASS@"; - "FOSDEM-Dualstack" = { }; + "Familia-Matei-PRO".psk = "@TG_HOTSPOT_HOME_PASS@"; + "Familia-Matei".psk = "@TG_HOTSPOT_HOME_PASS@"; + + "R15-5365 5g".psk = "@TG_WIFI_HOME_PASS@"; + "R15-5365".psk = "@TG_WIFI_HOME_PASS@"; + + "Sailhorse".psk = "@NL_PLACE_0_PASS@"; # [Working solution](https://bbs.archlinux.org/viewtopic.php?id=271336) # [Other interesting link](https://help.itc.rwth-aachen.de/en/service/b3d9a2c8ae5345b8b8f5128143ef4e3c/article/eaf6d69389a74a5a839c1f383c508df7/) diff --git a/hosts/nixos/common/global/wireless/wifi_passwords.age b/hosts/nixos/common/global/wireless/wifi_passwords.age index 11a811ff65efdcac0822f85eb99e7c4bb892c44f..2078ed61b05f1cea742d09d910c31539eb69a1ab 100644 GIT binary patch delta 613 zcmV-r0-F7=1(^kqEPqW#Pk2=}cy>-PZBb51MK3l~Ido?;VP{HrI6+8pPfbi{Yc+8( zba8cTI0{->SY~uEWnxiuQCUGzWoUFWXi-ITFHlNFN^nM2QaM;tYH({-PBTMva|$g! zAaiqQEoEdfH8n9gATwuSXjMTVXl-yqW-&umLpM!LWkNwhS4L%eI9YB+GBR>FRzp!% zF;QeoSZr%lR%K~P3U6m@aYIgKG*C%MZ$mb2cT;0AFfU1YWOqVraxYA9IYC29No8nE zX<=+*k?|LQHf=R?Sw>K5LpF7DL{>{SGh=abL1AS`NJLU&G;l>(Qg?JvPI*B!b67YE zac5^lGH`cPHfBy!bWKuaVn$JCY*H_IXm>+mFL6doY%x$*HEA++a!N1?Ej}PAHb`r4 zEoX9NVRL05by6WRVM}=mF=9tJVlj4VIdyJ!P(f9HWKl^&RWvwNSvW~CPh(|8O;mP8 zVsut$Mr?X`R%|sdY-lTFaY%VIdTD4`3N0-yAaipwYdCR1W==|Tc4JdG{>bd~`>pPI5bMW2$ub%h^8$|{~nN|^7geW8V^eVycy>l}>1prRJ!)%;2T4MK0 zFK9OPlC=P&YB4*v-m+6FT@F3?r?lHzSUQG;#acx+Yd66nX>Q2qgIzB=7zr7 delta 635 zcmWm9!D`b0002;&3`bCK;G7_iAR=S2tZ9-a8FQ>j)3i<3q-)YPaSYNlZQ3+xle9}) zm=)(?;Kd<`;>3%GUBrVEbqAR^^q@CyqA2VzL=eir%MOa~58i{}XTx`{^a~j2vqr8P znr`7ptkO;~qNf^A(@|NyigvBVG@pn;Tnx`=0GldlVmu>f(-Fco7Ks?;iExeX;0+Cv z;&fI{@_xAN#9>qe0&}3}83DZ%!Z4Twk&0?a5s=N%U7_8sxJXhaAu&tEV8N+1qEZ(V zA$b~0s9e_Wq%&#SHvuu%M2J*M>S2jO8LvfPAEM9&iE8SO3>U*_9h-JJQ_|8a=*D2Y zFFIbGHC#o&QffNd3$}9gO4b$xuaL+mEY9^rQAkzAHCHH>`5ah#Lj)uG&HJ zSc{NhA&ImlX2Eu0&PZ0XN>GSX2vdVfTqPCcD?lI+08!tT9kgV@hT<0tNP#=mzLHRj zNf&op1w{xWtZsEo%j*VB;Pcbf^7*;l(b~b!V>9FTt)qL}&o_vf?Zb8D{qESi(F5v< z_vP^REb{jQ%YIk(2Ct6xUtiB}<$sLrZ(TS=x8@6jJ>kTsTRX+Gt0S2ke`4y|