2025-12-03 09:55:43 +00:00
|
|
|
# Common.nix
|
2025-12-02 21:44:07 +00:00
|
|
|
{ config, pkgs, lib, ... }:
|
|
|
|
|
|
2026-01-20 08:21:34 +00:00
|
|
|
let
|
|
|
|
|
home-manager = builtins.fetchTarball {
|
|
|
|
|
url = "https://github.com/nix-community/home-manager/archive/master.tar.gz";
|
|
|
|
|
};
|
|
|
|
|
in
|
|
|
|
|
|
2025-12-02 21:44:07 +00:00
|
|
|
{
|
2025-12-25 12:08:14 +00:00
|
|
|
imports = [
|
2026-01-20 08:21:34 +00:00
|
|
|
(import "${home-manager}/nixos")
|
2026-01-21 09:27:33 +00:00
|
|
|
# Hosts #
|
2026-01-20 08:15:57 +00:00
|
|
|
./hosts/FredOS-Gaming.nix
|
|
|
|
|
./hosts/FredOS-Macbook.nix
|
2026-01-20 10:04:26 +00:00
|
|
|
./hosts/FredOS-Mediaserver.nix
|
2026-01-21 09:27:33 +00:00
|
|
|
|
|
|
|
|
# Generic settings #
|
2025-12-25 12:08:14 +00:00
|
|
|
./settings/gnome.nix
|
|
|
|
|
./settings/locale.nix
|
|
|
|
|
./settings/audio.nix
|
|
|
|
|
./settings/users.nix
|
|
|
|
|
./apps/fastfetch.nix
|
|
|
|
|
./apps/flatpaks.nix
|
2026-01-21 09:27:33 +00:00
|
|
|
|
|
|
|
|
# Services #
|
2026-02-20 21:42:53 +00:00
|
|
|
./services/server-permissions.nix
|
2026-01-20 19:54:47 +00:00
|
|
|
./services/game-servers.nix
|
2026-01-21 22:56:04 +00:00
|
|
|
./services/qbittorrent-nox.nix
|
2026-01-22 10:46:41 +00:00
|
|
|
./services/nginx.nix
|
2026-01-21 09:27:33 +00:00
|
|
|
./services/go2rtc.nix
|
2026-01-22 09:36:15 +00:00
|
|
|
./services/sonarr.nix
|
2026-01-25 11:14:49 +00:00
|
|
|
./services/radarr.nix
|
2026-01-22 10:43:58 +00:00
|
|
|
./services/prowlarr.nix
|
2026-01-22 10:46:41 +00:00
|
|
|
./services/jellyfin.nix
|
2026-02-01 13:09:34 +00:00
|
|
|
./services/bazarr.nix
|
2026-02-15 06:24:48 +00:00
|
|
|
./services/cloudflare-ddns.nix
|
2025-12-03 15:48:10 +00:00
|
|
|
];
|
2026-01-20 08:17:51 +00:00
|
|
|
|
2026-01-31 20:49:51 +00:00
|
|
|
### Make build time quicker
|
|
|
|
|
documentation.nixos.enable = false;
|
|
|
|
|
|
2026-01-20 08:17:51 +00:00
|
|
|
# Home Manager #
|
|
|
|
|
home-manager.useGlobalPkgs = true;
|
|
|
|
|
home-manager.useUserPackages = true;
|
2026-01-20 08:41:29 +00:00
|
|
|
home-manager.users.fred = import ./home-manager/fred.nix;
|
2026-01-20 08:17:51 +00:00
|
|
|
|
2026-01-11 10:35:34 +00:00
|
|
|
#############################################################################
|
2026-01-11 10:26:51 +00:00
|
|
|
# Make boot time quicker
|
2026-01-11 10:56:14 +00:00
|
|
|
boot.loader.timeout = 0;
|
2026-01-11 10:26:51 +00:00
|
|
|
systemd.services.NetworkManager-wait-online.enable = false;
|
|
|
|
|
systemd.services.systemd-udev-settle.enable = false;
|
2026-01-11 10:35:34 +00:00
|
|
|
systemd.services.firewall = {
|
|
|
|
|
wantedBy = lib.mkForce [ ];
|
|
|
|
|
after = [ "multi-user.target" ];
|
|
|
|
|
};
|
|
|
|
|
systemd.services.home-manager-fred = {
|
|
|
|
|
wantedBy = lib.mkForce [ ];
|
|
|
|
|
after = [ "multi-user.target" ];
|
|
|
|
|
};
|
2026-01-11 10:40:56 +00:00
|
|
|
boot.initrd.systemd.enable = true;
|
2026-01-11 10:52:17 +00:00
|
|
|
boot.initrd.verbose = false;
|
2026-01-11 10:35:34 +00:00
|
|
|
#############################################################################
|
2026-01-11 10:26:51 +00:00
|
|
|
|
2025-12-25 12:08:14 +00:00
|
|
|
# Use latest kernel
|
|
|
|
|
boot.kernelPackages = pkgs.linuxPackages_latest;
|
|
|
|
|
|
|
|
|
|
# Allow unfree packages
|
|
|
|
|
nixpkgs.config.allowUnfree = true;
|
|
|
|
|
|
|
|
|
|
# Enable network-manager
|
|
|
|
|
networking.networkmanager.enable = true;
|
2026-01-22 10:59:26 +00:00
|
|
|
networking.nameservers = [ "1.1.1.1" "9.9.9.9" ];
|
2025-12-25 12:08:14 +00:00
|
|
|
|
|
|
|
|
# Shell aliases
|
|
|
|
|
environment.shellAliases = {
|
|
|
|
|
update = ''
|
|
|
|
|
CHANNEL=$(sudo nix-channel --list | grep "^nixos " | awk '{print $2}')
|
|
|
|
|
if [[ "$CHANNEL" != *"nixos-unstable"* ]]; then
|
|
|
|
|
echo "Switching to nixos-unstable channel..."
|
|
|
|
|
sudo nix-channel --add https://nixos.org/channels/nixos-unstable nixos
|
|
|
|
|
sudo nix-channel --update
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
# Add nix-flatpak channel if not present
|
|
|
|
|
if ! sudo nix-channel --list | grep -q "nix-flatpak"; then
|
|
|
|
|
echo "Adding nix-flatpak channel..."
|
|
|
|
|
sudo nix-channel --add https://github.com/gmodena/nix-flatpak/archive/main.tar.gz nix-flatpak
|
|
|
|
|
fi
|
|
|
|
|
|
2025-12-04 12:30:15 +00:00
|
|
|
sudo nix-channel --update
|
2025-12-25 12:08:14 +00:00
|
|
|
echo "Cleaning Flatpak state cache..."
|
|
|
|
|
sudo rm -f /nix/var/nix/gcroots/flatpak-state.json
|
|
|
|
|
sudo nixos-rebuild switch --upgrade --option tarball-ttl 0
|
2026-01-11 11:12:38 +00:00
|
|
|
|
|
|
|
|
# Manually reapply wallpaper settings
|
2026-01-11 11:19:15 +00:00
|
|
|
dconf write /org/gnome/desktop/background/picture-uri "'file://''${HOME}/.local/share/backgrounds/wallpaper.png'"
|
|
|
|
|
dconf write /org/gnome/desktop/background/picture-uri-dark "'file://''${HOME}/.local/share/backgrounds/wallpaper.png'"
|
2026-01-11 11:12:38 +00:00
|
|
|
dconf write /org/gnome/desktop/background/picture-options "'zoom'"
|
2025-12-25 12:08:14 +00:00
|
|
|
'';
|
|
|
|
|
clean = "sudo nix-collect-garbage -d";
|
|
|
|
|
ll = "ls -alh";
|
|
|
|
|
clear = "command clear && fastfetch --config /etc/fastfetch/config.jsonc";
|
2026-01-11 22:59:51 +00:00
|
|
|
reboot = "systemctl reboot";
|
2025-12-25 12:08:14 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
# Add packages
|
|
|
|
|
environment.systemPackages = with pkgs; [
|
|
|
|
|
git
|
2026-01-20 08:21:34 +00:00
|
|
|
#adwaita-icon-theme
|
|
|
|
|
#mission-center
|
2025-12-25 12:08:14 +00:00
|
|
|
];
|
2025-12-02 21:44:07 +00:00
|
|
|
}
|