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_
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

View file

@ -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 {

View file

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

View file

@ -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/)

View file

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

View file

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