NixOS Dots

NixOS Dots

13 devlogs
69h 32m
•  Ship certified
Created by Stef

I switched to NixOS just a few days before SOM started, so i thought, "why not ship my dotfiles too" since technically nix is a language

Basically these are my NixOS dots
(Thanks orangci for helping me start with nix)

Timeline

Ship 1

0 payouts of shell 0 shells

Stef

3 days ago

Stef Covers 13 devlogs and 69h 32m
Stef
Stef
5h 47m 3 days ago

In the last commits:
- Fixed server modules nginx config as addSSL and forceSSL are mutually exclusive
- Fixed Ntfy user script to run after Ntfy itself instead of before (this script is temporary until ntfy on nixpkgs is updated to v2.14.0 which has built-in declarative users and access list)
- Fixed glance throwing errors and causing the system rebuild to fail as it'd try to get the domain variable from services which don't have a domain
- Improve SSH setup
- Fixed Mailcow Dockerized + Roundcube installation script and added a Mailcow Dockerized uninstallation script
- Opened TCP port 80, 443 on the firewall for Nginx
- Open TCP ports 22000 and UDP ports 22000 & 21027 on the firewall for Syncthing
- Open TCP ports 25, 465, 587, 143, 993, 110, 995 & 4190 on the firewall for Mailcow Dockerized
- Updated allt he server modules' ports from 1234:1234 to 127.0.0.1:1234:1234 to avoid publishing all the ports publicly
- Installed GIMP, rclone & Java JDK

Update attachment
Stef
Stef
15h 29m 22 days ago

finally finished setting up the server module and applied the settings to the server itself

Update attachment
Stef
Stef
2h 25m 26 days ago

Added my personal API to the server modules

Updated ntfy module:
- declaratively create & delete users
- declaratively create & delete topics/permissions (access list)

Update attachment
Stef
Stef
4h 31m 27 days ago

Added other server modules:
- Wireguard VPN (incomplete)
- Mailcow (untested but web UI seems to work)
- Nginx for all the modules

Update attachment
Stef
Stef
1h 55m 29 days ago

Added other server modules:
- Discod Create Addon Notifier (by me)
- Telegram Create Addon Notifier (by me)
- Crate Addons Website (by me & a friend)
- Personal Site (by me)
- Receiptify (by me)

Update attachment
Stef
Stef
2h 27m 29 days ago

Added other server modules:
- Apprise API
- Discord User Apps bot (by me)
- Grafana
- Prometheus
- Prometheus node_exporter
- Lyrics API (by me)
- Pi-Hole
- Syncthing
- SearXNG

Fix Linkwarden + Meilisearch modules

Updated yourspotify modules:
- yourspotify.web -> yourspotify-web
- yourspotify.api -> your_spotify-api

Update attachment
Stef
Stef
11h 58m 30 days ago

Add server modules that i'll use on my VPS once finished
- Zipline
- SearXNG
- ConvertX
- your_spotify
- Filebrowser
- Glance
- IT-Tools
- Jellyfin
- PostgreSQL
- Linkwarden
- Ntfy
- speedtest-tracker
- Umami
- Vaultwarden

Update attachment

Configured everything to use my AGS dekstop shell and remove waybar + swaync

Update attachment

Modified the Hyprland window rules so now
- my desktop shell windows float, do not have blurred bg, do not have animations (i'll add them later in the desktop shell itself) and 2 of the windows are pinned (notification center & session menu)

43 minutes cuz it took me a while to discover the existance of negative:... i was doing with a negative lookahead which apparently is noy supported..

Update attachment

installed some other util apps (cloc for code line count and lm_sensors for sensors info) and modified hyprland config (apps can now request t raise themselves, disabled animation on selection layer to avoid black border)

Update attachment

yoinked the screenrec module from orangc
added syncthing module so i can thing my fils between my phone and my laptop (with my VPS as middleware)

Update attachment

I set the VSCodium font to FiraCode Nerd Font so i can see the icons directly in VSCode (needed for my linux widget with AGS v3 & Astal), and well, for that to work also installed the font itself.
Also enabled the gnome keyring pam SDDM service (for some reasons vscode complained otherwise and would have forced me to use weaker encryption)

how that took me 26m? first i didn't know the correct vscode setting name so i tried diff ones (i couldn't just set it through vscode and copy cuz nix saves its setting file as read-only meaning i can only edit it through nix) and also i couldn't find how to fix the vscode encryption thing so i tried diff things before ending up with this + setting "password-store": "gnome-libsecret" in the vscode runtime args

Update attachment

I switched to NixOS around a week ago and I started configuring my system using NixOS' flakes (basing myself on a friends' dots, orangci/dots, as startup).

Following orangc's model I kept adding any app i needed in the modules so i can just install/uninstall it by changing a boolean value in hosts/nixos/(config | home).nix.

The waybar on top is just temporary, i'm currently working on making a custom bar on the top using Astal and AGS.

This is what the system currently looks like:

Update attachment