diff --git a/flake.lock b/flake.lock index 0c3a761..4bbf22c 100644 --- a/flake.lock +++ b/flake.lock @@ -8,11 +8,11 @@ "systems": "systems" }, "locked": { - "lastModified": 1754433428, - "narHash": "sha256-NA/FT2hVhKDftbHSwVnoRTFhes62+7dxZbxj5Gxvghs=", + "lastModified": 1754337839, + "narHash": "sha256-fEc2/4YsJwtnLU7HCFMRckb0u9UNnDZmwGhXT5U5NTw=", "owner": "ryantm", "repo": "agenix", - "rev": "9edb1787864c4f59ae5074ad498b6272b3ec308d", + "rev": "856df6f6922845abd4fd958ce21febc07ca2fa45", "type": "github" }, "original": { @@ -32,11 +32,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1754492276, - "narHash": "sha256-cCtleJZQY5eWPYRGl5x63BZ2rfOik4pLveCveH+tmvM=", + "lastModified": 1752094135, + "narHash": "sha256-kd5/x5SshFVFHWUf/7rRqXQ06aUaD6VJdUYRCDUHHo0=", "owner": "oddlama", "repo": "agenix-rekey", - "rev": "69ed7833c0e4e6a677a20894d8f12876b9e2bedb", + "rev": "395cdb1631e9715e37d0e859a2b1da63f0ae333b", "type": "github" }, "original": { @@ -427,11 +427,11 @@ ] }, "locked": { - "lastModified": 1756245065, - "narHash": "sha256-aAZNbGcWrVRZgWgkQbkabSGcDVRDMgON4BipMy69gvI=", + "lastModified": 1753592768, + "narHash": "sha256-oV695RvbAE4+R9pcsT9shmp6zE/+IZe6evHWX63f2Qg=", "owner": "nix-community", "repo": "home-manager", - "rev": "54b2879ce622d44415e727905925e21b8f833a98", + "rev": "fc3add429f21450359369af74c2375cb34a2d204", "type": "github" }, "original": { @@ -515,11 +515,11 @@ "systems": "systems_3" }, "locked": { - "lastModified": 1756535359, - "narHash": "sha256-XNhW99b7aG+HpT2pIokbU68k911Ok/qUKCaWAB2UUfY=", + "lastModified": 1754124544, + "narHash": "sha256-hHU5smvvnTcSY+J5XeYfxKlUYtorazCt/hDWYbkCOBQ=", "owner": "theCapypara", "repo": "nix-jetbrains-plugins", - "rev": "ef476a789cadeac91dec6e7965d873c0d9905ba6", + "rev": "a07bdf445e77f51240c0850b587f69576f5b55aa", "type": "github" }, "original": { @@ -535,11 +535,11 @@ "nixpkgs": "nixpkgs_4" }, "locked": { - "lastModified": 1756518625, - "narHash": "sha256-Mxh2wumeSsb968dSDksblubQqHTTdRTC5lH0gmhq9jI=", + "lastModified": 1754360791, + "narHash": "sha256-Nn2f13jY3M3v79uGscM3qZW0bqCF1EmOk+8ruaH5Drg=", "owner": "Infinidoge", "repo": "nix-minecraft", - "rev": "92654796f8f6c3279e4b7d409a3e5b43b0539a19", + "rev": "9b109c7db8379df8ae33317c10c29099de91b942", "type": "github" }, "original": { @@ -596,11 +596,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1756542300, - "narHash": "sha256-tlOn88coG5fzdyqz6R93SQL5Gpq+m/DsWpekNFhqPQk=", + "lastModified": 1754214453, + "narHash": "sha256-Q/I2xJn/j1wpkGhWkQnm20nShYnG7TI99foDBpXm1SY=", "owner": "nixos", "repo": "nixpkgs", - "rev": "d7600c775f877cd87b4f5a831c28aa94137377aa", + "rev": "5b09dc45f24cf32316283e62aec81ffee3c3e376", "type": "github" }, "original": { @@ -675,11 +675,11 @@ }, "nixpkgs_5": { "locked": { - "lastModified": 1756469547, - "narHash": "sha256-YvtD2E7MYsQ3r7K9K2G7nCslCKMPShoSEAtbjHLtH0k=", + "lastModified": 1754292888, + "narHash": "sha256-1ziydHSiDuSnaiPzCQh1mRFBsM2d2yRX9I+5OPGEmIE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "41d292bfc37309790f70f4c120b79280ce40af16", + "rev": "ce01daebf8489ba97bd1609d185ea276efdeb121", "type": "github" }, "original": { @@ -869,11 +869,11 @@ "poetry2nix": "poetry2nix" }, "locked": { - "lastModified": 1756139495, - "narHash": "sha256-xzA5q5Ae3wtcCItHQtcM88DbX2hJ9SRuG7hAFTQvfpU=", + "lastModified": 1752248822, + "narHash": "sha256-5f3cVs2T68jkQELTjMqrgkO3J2qa8l6bFI9b+ghYClY=", "owner": "Scrybbling-together", "repo": "remarks", - "rev": "6f7e782ac4d4560417da54da6f4d5dd5c553b63f", + "rev": "737ddccba55407390bdfc693acdbc6046e053948", "type": "github" }, "original": { diff --git a/home-manager/sajenim/features/cli/default.nix b/home-manager/sajenim/features/cli/default.nix index f81e392..de1a8e5 100644 --- a/home-manager/sajenim/features/cli/default.nix +++ b/home-manager/sajenim/features/cli/default.nix @@ -13,6 +13,7 @@ [ mum btop + pulsemixer unstable.qmk unstable.rmapi ] diff --git a/home-manager/sajenim/features/desktop/default.nix b/home-manager/sajenim/features/desktop/default.nix index 3ae2fe0..1340f78 100644 --- a/home-manager/sajenim/features/desktop/default.nix +++ b/home-manager/sajenim/features/desktop/default.nix @@ -5,9 +5,7 @@ }: { imports = [ ./cava - ./dunst ./mpv - ./obs ./picom ./wezterm ]; @@ -18,9 +16,6 @@ gimp piper zathura - - # KDE Packages - kdePackages.kdenlive ]; home.file = { diff --git a/home-manager/sajenim/features/desktop/dunst/default.nix b/home-manager/sajenim/features/desktop/dunst/default.nix deleted file mode 100644 index 8afb5a5..0000000 --- a/home-manager/sajenim/features/desktop/dunst/default.nix +++ /dev/null @@ -1,31 +0,0 @@ -{...}: { - services.dunst = { - enable = true; - settings = { - global = { - width = 300; - height = 300; - origin = "top-right"; - offset = "20x20"; - frame_width = 5; - frame_color = "#32302f"; - corner_radius = 10; - }; - - urgency_low = { - background = "#282828"; - foreground = "#d4be98"; - }; - - urgency_normal = { - background = "#282828"; - foreground = "#d4be98"; - }; - - urgency_critical = { - background = "#282828"; - foreground = "#d4be98"; - }; - }; - }; -} diff --git a/home-manager/sajenim/features/desktop/obs/default.nix b/home-manager/sajenim/features/desktop/obs/default.nix deleted file mode 100644 index 6dc3ebd..0000000 --- a/home-manager/sajenim/features/desktop/obs/default.nix +++ /dev/null @@ -1,9 +0,0 @@ -{pkgs, ...}: { - programs.obs-studio = { - enable = true; - - plugins = with pkgs.obs-studio-plugins; [ - obs-vaapi # AMD hardware acceleration - ]; - }; -} diff --git a/nixos/fuchsia/hardware-configuration.nix b/nixos/fuchsia/hardware-configuration.nix index 49773dd..ee33041 100644 --- a/nixos/fuchsia/hardware-configuration.nix +++ b/nixos/fuchsia/hardware-configuration.nix @@ -20,7 +20,7 @@ }; # Linux kernel used by NixOS. - kernelPackages = pkgs.linuxPackages_latest; + kernelPackages = pkgs.unstable.linuxPackages; # Parameters added to the kernel command line. kernelParams = [ # Enable amdgpu driver sysfs API that allows fine grain control of GPU diff --git a/nixos/fuchsia/services/default.nix b/nixos/fuchsia/services/default.nix index dfd7d8c..6dd97e8 100644 --- a/nixos/fuchsia/services/default.nix +++ b/nixos/fuchsia/services/default.nix @@ -4,7 +4,6 @@ ./flatpak ./libinput ./ollama - ./pipewire ./printing ./udev ./xserver diff --git a/nixos/fuchsia/services/pipewire/default.nix b/nixos/fuchsia/services/pipewire/default.nix deleted file mode 100644 index f448b2f..0000000 --- a/nixos/fuchsia/services/pipewire/default.nix +++ /dev/null @@ -1,19 +0,0 @@ -{ pkgs, ... }: { - # Realtime scheduler - security.rtkit.enable = true; - - # Sound server - services.pipewire = { - enable = true; - - # Enable components - alsa.enable = true; - alsa.support32Bit = true; - pulse.enable = true; - }; - - # Sound mixer - environment.systemPackages = with pkgs; [ - pulsemixer - ]; -} diff --git a/nixos/viridian/configuration.nix b/nixos/viridian/configuration.nix index e52b24b..703932f 100644 --- a/nixos/viridian/configuration.nix +++ b/nixos/viridian/configuration.nix @@ -20,10 +20,7 @@ networking = { hostName = "viridian"; networkmanager.enable = true; - }; - - # Firewall configuration - networking.firewall = { + firewall = { enable = true; allowPing = true; allowedTCPPorts = [ @@ -32,6 +29,7 @@ 6600 # mpd 6667 # inspircd ]; + }; }; # Configure programs diff --git a/nixos/viridian/hardware-configuration.nix b/nixos/viridian/hardware-configuration.nix index 2b11a45..7f51f6f 100644 --- a/nixos/viridian/hardware-configuration.nix +++ b/nixos/viridian/hardware-configuration.nix @@ -63,6 +63,12 @@ options = ["subvol=containers" "compress=zstd"]; }; + fileSystems."/srv/shares" = { + device = "/dev/disk/by-label/data"; + fsType = "btrfs"; + options = ["subvol=shares" "compress=zstd"]; + }; + swapDevices = [ { device = "/swap/swapfile"; diff --git a/nixos/viridian/services/borgbackup/default.nix b/nixos/viridian/services/borgbackup/default.nix index 1e11d42..c0443ed 100644 --- a/nixos/viridian/services/borgbackup/default.nix +++ b/nixos/viridian/services/borgbackup/default.nix @@ -7,6 +7,8 @@ paths = [ # Websites "/srv/www/sajenim.dev" + # File shares + "/srv/shares/sajenim" # Services "/var/lib/crowdsec" "/var/lib/forgejo" diff --git a/nixos/viridian/services/default.nix b/nixos/viridian/services/default.nix index d4e83aa..f2a826d 100644 --- a/nixos/viridian/services/default.nix +++ b/nixos/viridian/services/default.nix @@ -10,6 +10,7 @@ ./mpd ./murmur ./opengist + ./projectsend ./traefik ]; } diff --git a/nixos/viridian/services/projectsend/default.nix b/nixos/viridian/services/projectsend/default.nix new file mode 100644 index 0000000..d581f9b --- /dev/null +++ b/nixos/viridian/services/projectsend/default.nix @@ -0,0 +1,82 @@ +{config, ...}: { + # Environment variables for ProjectSend + age.secrets.projectsend = { + rekeyFile = ./environment.age; + }; + + # Setup for ProjectSend, a file sharing application + virtualisation.oci-containers.containers = { + projectsend = { + image = "linuxserver/projectsend:version-r1720"; + ports = [ + "9684:80" + ]; + volumes = [ + "/var/lib/projectsend/config:/config" + "/var/lib/projectsend/data:/data" + ]; + environment = { + PUID = "1000"; + PGID = "100"; + }; + extraOptions = [ + "--network=projectsend" + ]; + }; + + # MariaDB container for ProjectSend + projectsend-mariadb = { + image = "mariadb:lts-noble"; + volumes = [ + "/var/lib/projectsend/mysql:/var/lib/mysql" + ]; + environmentFiles = [ + config.age.secrets.projectsend.path + ]; + extraOptions = [ + "--network=projectsend" + ]; + # Override the default user and group for MariaDB + user = "1000:100"; + }; + }; + + # Network for ProjectSend containers + services.traefik.dynamicConfigOptions.http = { + routers.projectsend = { + rule = "Host(`drop.ps7e.xyz`)"; + entryPoints = [ + "websecure" + ]; + service = "projectsend"; + }; + services.projectsend = { + loadBalancer.servers = [ + {url = "http://127.0.0.1:9684";} + ]; + }; + }; + + # Persistence configuration for ProjectSend + environment.persistence."/persist" = { + directories = [ + { + directory = "/var/lib/projectsend/config"; + user = "sajenim"; + group = "users"; + } + + { + directory = "/var/lib/projectsend/data"; + user = "sajenim"; + group = "users"; + } + + { + directory = "/var/lib/projectsend/mysql"; + user = "sajenim"; + group = "users"; + } + ]; + }; +} diff --git a/nixos/viridian/services/projectsend/environment.age b/nixos/viridian/services/projectsend/environment.age new file mode 100644 index 0000000..267e541 --- /dev/null +++ b/nixos/viridian/services/projectsend/environment.age @@ -0,0 +1,10 @@ +age-encryption.org/v1 +-> piv-p256 hdSnGw ArF/5zoX1WGrrBvli8JN/BU/zhX+uuSvHUZOr8xWT1jE +AVLiFe7B8jpeqy3twUGoOcuA4XKGv4wT9gKMNIipmuc +-> }S39,Y-grease Y`7mW +bOcAO2gpCv5yHpJyHI2omMPzeRjiTTagCwQfMZST5+D6A1mPk86C99e2bDNv +--- KbkF7enRjL7hkgek9CO5UcIOVZ087ji1oDMGViaThPI + '4[n7Y0YZ͉kzմp]v{_s; +fA +!.۱줮EWwlS ys8lmOlݠJbjݮn:q.8dd_3 +pNY)אțYY \ No newline at end of file