diff --git a/docker-compose/.gitignore b/docker-compose/.gitignore deleted file mode 100644 index 579563e..0000000 --- a/docker-compose/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -immich.env -downloadin.env -matrix.env \ No newline at end of file diff --git a/flake.lock b/flake.lock index 840ac04..ce00293 100644 --- a/flake.lock +++ b/flake.lock @@ -1,5 +1,23 @@ { "nodes": { + "flake-parts": { + "inputs": { + "nixpkgs-lib": "nixpkgs-lib" + }, + "locked": { + "lastModified": 1775087534, + "narHash": "sha256-91qqW8lhL7TLwgQWijoGBbiD4t7/q75KTi8NxjVmSmA=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "3107b77cd68437b9a76194f0f7f9c55f2329ca5b", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, "home-manager": { "inputs": { "nixpkgs": [ @@ -21,6 +39,21 @@ "type": "github" } }, + "import-tree": { + "locked": { + "lastModified": 1773693634, + "narHash": "sha256-BtZ2dtkBdSUnFPPFc+n0kcMbgaTxzFNPv2iaO326Ffg=", + "owner": "vic", + "repo": "import-tree", + "rev": "c41e7d58045f9057880b0d85e1152d6a4430dbf1", + "type": "github" + }, + "original": { + "owner": "vic", + "repo": "import-tree", + "type": "github" + } + }, "nixos-hardware": { "locked": { "lastModified": 1773533765, @@ -53,9 +86,26 @@ "type": "github" } }, + "nixpkgs-lib": { + "locked": { + "lastModified": 1774748309, + "narHash": "sha256-+U7gF3qxzwD5TZuANzZPeJTZRHS29OFQgkQ2kiTJBIQ=", + "owner": "nix-community", + "repo": "nixpkgs.lib", + "rev": "333c4e0545a6da976206c74db8773a1645b5870a", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nixpkgs.lib", + "type": "github" + } + }, "root": { "inputs": { + "flake-parts": "flake-parts", "home-manager": "home-manager", + "import-tree": "import-tree", "nixos-hardware": "nixos-hardware", "nixpkgs": "nixpkgs" } diff --git a/flake.nix b/flake.nix index 19d4181..76c3299 100644 --- a/flake.nix +++ b/flake.nix @@ -4,6 +4,8 @@ inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.11"; nixos-hardware.url = "github:NixOS/nixos-hardware/master"; + flake-parts.url = "github:hercules-ci/flake-parts"; + import-tree.url = "github:vic/import-tree"; home-manager = { url = "github:nix-community/home-manager/release-23.05"; @@ -11,31 +13,36 @@ }; }; - outputs = { self, nixpkgs, home-manager, nixos-hardware, ... }@inputs: { - nixosConfigurations.qmoran-laptop = nixpkgs.lib.nixosSystem { - system = "x86_64-linux"; - modules = [ - ./nix/qlhc.nix - ./nix/common.nix - ./nix/user-quin.nix - ./nix/gui1.nix - ./nix/mega.nix - nixos-hardware.nixosModules.framework-11th-gen-intel + outputs = inputs@{ flake-parts, nixos-hardware, import-tree, nixpkgs, ... }: + # https://flake.parts/module-arguments.html + flake-parts.lib.mkFlake { inherit inputs; } (top@{ config, withSystem, moduleWithSystem, ... }: { + imports = [ ]; - }; - - nixosConfigurations.qmoran-desktop = nixpkgs.lib.nixosSystem { - system = "x86_64-linux"; - modules = [ - ./nix/qdhc.nix - ./nix/common.nix - ./nix/user-quin.nix - ./nix/gui1.nix - ./nix/mega.nix - ./nix/jf-server.nix + flake = { + nixosConfigurations.qmoran-laptop = nixpkgs.lib.nixosSystem { + system = "x86_64-linux"; + modules = [ + (import-tree ./modules) + nixos-hardware.nixosModules.framework-11th-gen-intel + ./nix/qlhc.nix + ]; + }; + nixosConfigurations.qmoran-desktop = nixpkgs.lib.nixosSystem { + system = "x86_64-linux"; + modules = [ + (import-tree ./modules) + ./nix/qdhc.nix + ./nix/jf-server.nix + ]; + }; + }; + systems = [ + "x86_64-linux" ]; - }; - - }; + perSystem = { config, pkgs, ... }: { + }; + }); } + + \ No newline at end of file diff --git a/nix/common.nix b/modules/common.nix similarity index 100% rename from nix/common.nix rename to modules/common.nix diff --git a/nix/gui1.nix b/modules/gui1.nix similarity index 100% rename from nix/gui1.nix rename to modules/gui1.nix diff --git a/nix/mega.nix b/modules/mega.nix similarity index 100% rename from nix/mega.nix rename to modules/mega.nix diff --git a/nix/user-quin.nix b/modules/user-quin.nix similarity index 100% rename from nix/user-quin.nix rename to modules/user-quin.nix diff --git a/nix/README.md b/nix/README.md deleted file mode 100644 index 83872e4..0000000 --- a/nix/README.md +++ /dev/null @@ -1,13 +0,0 @@ -# It's NixOS! - -Hello MtV and welcome to my crib. These are all the things pertaining to my nixos stuff. - -- [./common.nix](./common.nix) is all the common things that hosts will have configured - - Services - - locale settings - - timezone -- [./gui1](./gui1.nix) all config things for a linux UX experience, KDE Plasma in this instance, but perhaps there could be a gui2 someday... -- [./qlhc.nix](./qlhc.nix) this stands for quins-laptop-hardware-configuraion. I'll find a better way to do this stuff later. -- [./user-quin](./user-quin.nix) my personal user account, here for all to see. - - packages - - groups \ No newline at end of file diff --git a/rclone.nix b/rclone.nix deleted file mode 100644 index afa06a8..0000000 --- a/rclone.nix +++ /dev/null @@ -1,24 +0,0 @@ -{ pkgs, lib, ... }: -let - mountPoint = "/mnt/mega"; - remoteName = "data"; - bucketName = "enc"; - configFile = "/etc/rclone.conf"; -in -{ - environment.systemPackages = with pkgs;[ - rclone - ]; - systemd.mounts = lib.singleton { - where = mountPoint; - what = "${remoteName}:${bucketName}"; - type = "rclone"; - # I think we need to be able to set a timeout here but nix is too new - options = "_netdev,allow-other,vfs-cache-mode=full,vfs-read-chunk-size=512M,vfs-read-chunk-size-limit=1G,vfs-write-back=48h,vfs-cache-max-age=3h,config=${configFile},vvv,daemon-wait=0"; - }; - - #systemd.automounts = lib.singleton { - # where = mountPoint; - # wantedBy = [ "multi-user.target" ]; - #}; -} \ No newline at end of file