1
Fork 0

Doc changes and more

This commit is contained in:
Matei Adriel 2023-07-21 19:30:48 +03:00
parent 90b66e147b
commit fa93ddee95
No known key found for this signature in database
7 changed files with 77 additions and 55 deletions

112
README.md
View file

@ -1,8 +1,8 @@
# Welcome to _the Satellite_ # 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) - 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 - [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). 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: 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 - [tethys](./hosts/nixos/tethys/) - my personal laptop
- [euporie](./hosts/euporie) - barebones host for testing things insdie a VM - [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 | | 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 | | [nixpkgs.nix](./nixpkgs.nix) | Pinned nixpkgs for bootstrapping |
| [secrets.nix](./secrets.nix) | Agenix entrypoint | | [secrets.nix](./secrets.nix) | Agenix entrypoint |
### Points of interest ## Points of interest
Here's some things you might want to check out: Here's some things you might want to check out:
- My [neovim config](./dotfiles/neovim) - My [neovim config](./dotfiles/neovim)
- The [flake](./flake.nix) entrypoint for this repository - 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 ### Fundamentals
- [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
### 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. 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: Tooling I might use in the future:
- [nix-darwin](https://github.com/LnL7/nix-darwin) - like nixos but for macs - [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 - [eww](https://github.com/elkowar/eww) - widget framework

View file

@ -1,7 +1,8 @@
{ pkgs, config, ... }: { pkgs, config, ... }:
let let
pinentry = pinentry =
if config.gtk.enable then { # if config.gtk.enable then {
if false then {
packages = [ pkgs.pinentry-gnome pkgs.gcr ]; packages = [ pkgs.pinentry-gnome pkgs.gcr ];
name = "gnome3"; name = "gnome3";
} else { } else {

View file

@ -39,6 +39,7 @@ in
}; };
# Passwordless sudo when SSH'ing with keys # 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; security.pam.enableSSHAgentAuth = true;
# SSH on slow connections # SSH on slow connections

View file

@ -11,11 +11,14 @@
environmentFile = config.age.secrets.wireless.path; environmentFile = config.age.secrets.wireless.path;
networks = { networks = {
"Neptune".psk = "@ENCELADUS_HOTSPOT_PASS@"; "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) # [Working solution](https://bbs.archlinux.org/viewtopic.php?id=271336)
# [Other interesting link](https://help.itc.rwth-aachen.de/en/service/b3d9a2c8ae5345b8b8f5128143ef4e3c/article/eaf6d69389a74a5a839c1f383c508df7/) # [Other interesting link](https://help.itc.rwth-aachen.de/en/service/b3d9a2c8ae5345b8b8f5128143ef4e3c/article/eaf6d69389a74a5a839c1f383c508df7/)

View file

@ -1,4 +1,4 @@
{ pkgs, config, lib, ... }: { config, ... }:
{ {
services.xserver = { services.xserver = {
enable = true; enable = true;

View file

@ -4,14 +4,11 @@
../common/users/adrielus.nix ../common/users/adrielus.nix
../common/optional/pipewire.nix ../common/optional/pipewire.nix
../common/optional/xserver.nix
../common/optional/lightdm.nix ../common/optional/lightdm.nix
../common/optional/steam.nix ../common/optional/steam.nix
../common/optional/slambda.nix ../common/optional/slambda.nix
../common/optional/xdg-portal.nix ../common/optional/xdg-portal.nix
../common/optional/hyprland.nix ../common/optional/hyprland.nix
../common/optional/gitea.nix
../common/optional/xmonad
./services/syncthing.nix ./services/syncthing.nix
./hardware-configuration.nix ./hardware-configuration.nix