diff --git a/HyperV/configuration.nix b/HyperV/configuration.nix deleted file mode 100644 index e6b6364..0000000 --- a/HyperV/configuration.nix +++ /dev/null @@ -1,48 +0,0 @@ -# This is your system's configuration file. -# Use this to configure your system environment (it replaces /etc/nixos/configuration.nix) -{ - lib, - config, - pkgs, - modulesPath, - ... -}: { - # You can import other NixOS modules here - - imports = [ - # Include my hardware settings. - ./hardware.nix - # Include static network settings. - ./networking.nix - "${modulesPath}/virtualisation/hyperv-image.nix" - ]; - - nixpkgs = {config = {allowUnfree = true;};}; - - nix = { - settings = { - experimental-features = "nix-command flakes"; - auto-optimise-store = true; - }; - }; - - networking.hostName = "HyperV"; - - boot.loader.systemd-boot.enable = true; - system.stateVersion = "23.05"; - - mymods = { - gnome.enable = true; - user_sstent.enable = true; - sshd.enable = true; - }; - - networking.firewall.allowedTCPPorts = [22]; - - environment.etc."ssh/ssh_host_rsa_key".source = ./ssh/ssh_host_rsa_key; - environment.etc."ssh/ssh_host_rsa_key".mode = "0400"; - environment.etc."ssh/ssh_host_rsa_key.pub".source = ./ssh/ssh_host_rsa_key.pub; - environment.etc."ssh/ssh_host_ed25519_key".source = ./ssh/ssh_host_ed25519_key; - environment.etc."ssh/ssh_host_ed25519_key".mode = "0400"; - environment.etc."ssh/ssh_host_ed25519_key.pub".source = ./ssh/ssh_host_ed25519_key.pub; -} diff --git a/HyperV/hardware.nix b/HyperV/hardware.nix deleted file mode 100644 index 0507ea4..0000000 --- a/HyperV/hardware.nix +++ /dev/null @@ -1,37 +0,0 @@ -# This is just an example, you should generate yours with nixos-generate-config and put it in here. -{ - config, - lib, - modulesPath, - pkgs, - ... -}: { - # Set your system kind (needed for flakes) - nixpkgs.hostPlatform = "x86_64-linux"; - virtualisation.hypervGuest.videoMode = "1920x1080"; - - boot.initrd.availableKernelModules = ["sd_mod" "sr_mod"]; - boot.initrd.kernelModules = []; - boot.kernelModules = ["hv_sock"]; - - # fileSystems."/" = { - # device = "/dev/disk/by-label/nixos"; - # autoResize = true; - # fsType = "ext4"; - # }; - - # fileSystems."/boot" = { - # device = "/dev/disk/by-label/ESP"; - # fsType = "vfat"; - # }; - - fileSystems."/mnt/Public" = { - device = "//192.168.1.109/Public"; - fsType = "cifs"; - options = let - # this line prevents hanging on network split - automount_opts = "x-systemd.automount,noauto,x-systemd.idle-timeout=60,x-systemd.device-timeout=5s,x-systemd.mount-timeout=5s"; - # in ["${automount_opts},credentials=/etc/nixos/smb-secrets"]; - in ["${automount_opts}"]; - }; -} diff --git a/HyperV/hyperv.nix b/HyperV/hyperv.nix deleted file mode 100644 index 058ce40..0000000 --- a/HyperV/hyperv.nix +++ /dev/null @@ -1,15 +0,0 @@ -{ - lib, - config, - pkgs, - ... -}: { - # You can import other NixOS modules here - hyperv = { - baseImageSize = 8096; - }; - - # environment.etc = { - # nixos.source = ../..; - # }; -} diff --git a/HyperV/networking.nix b/HyperV/networking.nix deleted file mode 100644 index 43b1727..0000000 --- a/HyperV/networking.nix +++ /dev/null @@ -1,24 +0,0 @@ -{...}: { - # This file was populated at runtime with the networking - # details gathered from the active system. - networking = { - useDHCP = false; - nameservers = [ - "192.168.1.1" - "192.168.1.250" - "8.8.8.8" - "8.8.4.4" - ]; - defaultGateway = { - address = "192.168.1.1"; - }; - interfaces.eth0 = { - ipv4.addresses = [ - { - address = "192.168.1.230"; - prefixLength = 24; - } - ]; - }; - }; -} diff --git a/HyperV/ssh/ssh_host_ed25519_key b/HyperV/ssh/ssh_host_ed25519_key deleted file mode 100755 index 5acf773..0000000 --- a/HyperV/ssh/ssh_host_ed25519_key +++ /dev/null @@ -1,7 +0,0 @@ ------BEGIN OPENSSH PRIVATE KEY----- -b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZW -QyNTUxOQAAACBRqPpgqp6hRtY97TI6Mz5vDrhL62QDJsO7oZtkOacFwAAAAJAcdclzHHXJ -cwAAAAtzc2gtZWQyNTUxOQAAACBRqPpgqp6hRtY97TI6Mz5vDrhL62QDJsO7oZtkOacFwA -AAAEC5jt0tLdgOmfZOlDMV4bDqH5Q4/8/mYmVdQxGwArBYaVGo+mCqnqFG1j3tMjozPm8O -uEvrZAMmw7uhm2Q5pwXAAAAAC3Jvb3RASHlwZXJWAQI= ------END OPENSSH PRIVATE KEY----- diff --git a/HyperV/ssh/ssh_host_ed25519_key.pub b/HyperV/ssh/ssh_host_ed25519_key.pub deleted file mode 100644 index 2cc973a..0000000 --- a/HyperV/ssh/ssh_host_ed25519_key.pub +++ /dev/null @@ -1 +0,0 @@ -ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFGo+mCqnqFG1j3tMjozPm8OuEvrZAMmw7uhm2Q5pwXA root@HyperV diff --git a/HyperV/ssh/ssh_host_rsa_key b/HyperV/ssh/ssh_host_rsa_key deleted file mode 100755 index 11e1ced..0000000 --- a/HyperV/ssh/ssh_host_rsa_key +++ /dev/null @@ -1,49 +0,0 @@ ------BEGIN OPENSSH PRIVATE KEY----- -b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAACFwAAAAdzc2gtcn -NhAAAAAwEAAQAAAgEAxa9NADvaI8tkW31dhAmJwbcP0bxhkSMu3QxrgwAonrh29w4HbWy8 -d6L2SELUZPg8/Lp8PmtE73usEtnpcpuLJkO6J2NXn6LMPZJH0uUXhIyKjaUaT4365SZuvi -Z4ZPj7NYeaWBc5E15Z5YGSXmjjleSy/LNpPLzGVRlvXQ6x23kJAjmXz1iBZzfpvBNDi6NM -wMVcDDAg648I8Yl1M/xxEschqYmdQG1h1ZwcqfewMjG5wgXKqppujQJzfO5u1he/TK0xny -zhcKeteYboUlRjkJrM0d18Jt7uhf7xtBUq3ol7zMYq0vnWGdv3d/qFAofdGbO6AolU1Huk -8tq7Y/A8yMI/ex6yRU7Ohxx2u5R+2FABtIiPOk6/a5YFrWdTcJeyyqsh1J2bSkN7eBtdQm -J3kH4I1bFLFHEw7rXjiLC/TJlnYf6+CBi1fJ+rm91zq5q9I7866Sc4m+jmkC7Mho6w/j6r -R0ro88DSIB9Ov36pxkuj+Iue2oSPfOh0rCoVt6h93wHo1qTVjGloLzXDpIFc5aLdjD8OZy -QY42ONYpZ3bdKd2DahrtLodXuM8+TwGOcbHrrv1MkGoIVJ3Zhlyj8bCjsk3A1uphznQSNd -ncZSRwtAcKqcC8veRSFop54ohNvKNY2QOvNmrht82xlRNVh3j65WyTQVS9hzKR/qZI+3so -sAAAdA4yuADeMrgA0AAAAHc3NoLXJzYQAAAgEAxa9NADvaI8tkW31dhAmJwbcP0bxhkSMu -3QxrgwAonrh29w4HbWy8d6L2SELUZPg8/Lp8PmtE73usEtnpcpuLJkO6J2NXn6LMPZJH0u -UXhIyKjaUaT4365SZuviZ4ZPj7NYeaWBc5E15Z5YGSXmjjleSy/LNpPLzGVRlvXQ6x23kJ -AjmXz1iBZzfpvBNDi6NMwMVcDDAg648I8Yl1M/xxEschqYmdQG1h1ZwcqfewMjG5wgXKqp -pujQJzfO5u1he/TK0xnyzhcKeteYboUlRjkJrM0d18Jt7uhf7xtBUq3ol7zMYq0vnWGdv3 -d/qFAofdGbO6AolU1Huk8tq7Y/A8yMI/ex6yRU7Ohxx2u5R+2FABtIiPOk6/a5YFrWdTcJ -eyyqsh1J2bSkN7eBtdQmJ3kH4I1bFLFHEw7rXjiLC/TJlnYf6+CBi1fJ+rm91zq5q9I786 -6Sc4m+jmkC7Mho6w/j6rR0ro88DSIB9Ov36pxkuj+Iue2oSPfOh0rCoVt6h93wHo1qTVjG -loLzXDpIFc5aLdjD8OZyQY42ONYpZ3bdKd2DahrtLodXuM8+TwGOcbHrrv1MkGoIVJ3Zhl -yj8bCjsk3A1uphznQSNdncZSRwtAcKqcC8veRSFop54ohNvKNY2QOvNmrht82xlRNVh3j6 -5WyTQVS9hzKR/qZI+3sosAAAADAQABAAACAAbEawLkiaGrD0rwfjiMaQpYHXMFG2PwC+Um -TTHlWf6g+vWXJdrxm3wO+JZdr06rjs7qBWHPo0L9fVUB37N8LqXHMMKzbGb7GDnNXacTD5 -yKgR27Nqzdg+a/S5A32ew+976L31U/qkUG+FXaeyu/NHdHpnbvH12kare0ELNjUuRb/tp0 -JUXEVl21tMsq76eClhiNSQrjxOS7d0dpeLkoXaiSZ40ZuGfhtrUszHBnGcGGIUFKmHcBpW -IvYMu4j9PFaVeTID0+OJN2MgKUgzR6ThQ/sF5I0jy0af7tTNHo3ZhTpYjLieDCC7nD5XNW -gKInC4MbO3VlxSEnAG0N3tdbfIElbx3aakWo4f7LOicALeubmO0alOl6CexAhiErPySZVY -+XyjyoOWDcmqXe9Ax+l8RH+8fMLuf/DYJNXVGqkKUyEHnfe4pLOsLNhHBUyJg/gZooO6MZ -QJurI1Yo9kfVkNFvKf4coNnvd1BSvE5ADxHX+7pOliBJScZP9G6Twy7KMlkvshdgBm3JFk -/rTW7s1iVgLN6C595P2TfsnZxU0zN9M/sLZ9bNxQLHPpw+TxpVFHVcw4CsGjgRSLVnw89R -qbDEchGOQemp0d4lD8taOdyivUyaqUi0/oAWgfOKPeY5mu+EtfHFyw5s3mvOItPosSqE/F -x40PtaQnGT0xHOAa+5AAABAErqDojSOOgK6kQtaUn5RQmzXVYrMYGENfmpRzumz46sPILG -gNY2uBMAbit5GCLQIqsnooQTZNzo55pmMxAgZkWqbSfM3Askr3vzSpctG7mCis7UTsWYKv -HwPA98pS2n57u8Hjrkwzp6QxQvRaFwoH2AyUQvQeaT0g8UObngtBqIN7BgE8bgjQV7Ks2b -xDmmGgJpX16Njy1ZBSFv/jNwcVQ/Bup/1Sn/4JtAOFeOAaNxR0zq/ZNmPGvLsnH2wkZz+e -f+jUnASvKekypAXtLex+QuvIiX73HzTYkjV7XmiPnJTzX2glEoyLMpFOWrrTeo/uzNuSLo -YBBNwltu1PPEp4UAAAEBAPJ8UGMzYkmecByxURFftKBbRYFtkTBm7TNnbR5KI1K/QKpKjQ -4o/iaNo06127/r9bUkcFNCPwyWJD8lDlbIpkV0nkrZ4xSze7Mr4alo76gjS6rVCtf9BkDv -N4yBAZl+SBUghsZeBH6JCbG+PrDI2evQitgZrVdGDbaaxcki/jOGVtQLhZrSMq+7vADkKl -dRYRxe9bVYHowl6pWKpXYIwuVjNjj6CT/jP7Ct4koAmMWLNMUUJKYEDCvmbq8dOEG0R5Ax -/m7xv0/GfuymTJ2+vx4RsEbTj2cl8Ouc7h5mNI89ngzg1GTOxjToAFinWvwlzw0G4+jLaj -cg9PowZKK9z8kAAAEBANCzyWUouibyKpmmsfZvqp27PD/ItQxinba6lbV1uLQ+r+dqFbMo -dcOjjNfYeRqrruVpeF7PXCiVYyds8dXKoa7CGtQUUsyLnQxOra7jFAbt3ZNdrAAwlQ64J1 -zPc2cd8avca+SuszPD8sOHmrjYqWMgeZbxpm0CRuN9EeN1FhGe4kMOi7vtzkjA0UZnwKbe -0gZS67AQ3CqwEuWvGqUisX+wejzFAWsamYzd3zxqQ5OFtTeoD83Iw8KtlNrhosRKIJ6k0O -p8rrDiAOx/A8qVmcXSr0c2RbRJSwYJkL2cuBRGoT3+XWa7e4HXlmVOKZsgfbBUsWl5rFB/ -zudLA/fCobMAAAALcm9vdEBIeXBlclY= ------END OPENSSH PRIVATE KEY----- diff --git a/HyperV/ssh/ssh_host_rsa_key.pub b/HyperV/ssh/ssh_host_rsa_key.pub deleted file mode 100644 index 1bbd6a2..0000000 --- a/HyperV/ssh/ssh_host_rsa_key.pub +++ /dev/null @@ -1 +0,0 @@ -ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDFr00AO9ojy2RbfV2ECYnBtw/RvGGRIy7dDGuDACieuHb3DgdtbLx3ovZIQtRk+Dz8unw+a0Tve6wS2elym4smQ7onY1efosw9kkfS5ReEjIqNpRpPjfrlJm6+Jnhk+Ps1h5pYFzkTXlnlgZJeaOOV5LL8s2k8vMZVGW9dDrHbeQkCOZfPWIFnN+m8E0OLo0zAxVwMMCDrjwjxiXUz/HESxyGpiZ1AbWHVnByp97AyMbnCBcqqmm6NAnN87m7WF79MrTGfLOFwp615huhSVGOQmszR3Xwm3u6F/vG0FSreiXvMxirS+dYZ2/d3+oUCh90Zs7oCiVTUe6Ty2rtj8DzIwj97HrJFTs6HHHa7lH7YUAG0iI86Tr9rlgWtZ1Nwl7LKqyHUnZtKQ3t4G11CYneQfgjVsUsUcTDuteOIsL9MmWdh/r4IGLV8n6ub3XOrmr0jvzrpJzib6OaQLsyGjrD+PqtHSujzwNIgH06/fqnGS6P4i57ahI986HSsKhW3qH3fAejWpNWMaWgvNcOkgVzlot2MPw5nJBjjY41ilndt0p3YNqGu0uh1e4zz5PAY5xseuu/UyQaghUndmGXKPxsKOyTcDW6mHOdBI12dxlJHC0BwqpwLy95FIWinniiE28o1jZA682auG3zbGVE1WHePrlbJNBVL2HMpH+pkj7eyiw== root@HyperV diff --git a/modules/home-manager/beets/default.nix b/home-manager/beets.nix similarity index 96% rename from modules/home-manager/beets/default.nix rename to home-manager/beets.nix index a6b97d8..8689362 100644 --- a/modules/home-manager/beets/default.nix +++ b/home-manager/beets.nix @@ -3,23 +3,10 @@ pkgs, lib, ... -}: -with lib; let - cfg = config.custom.beets; -in { - options.custom.beets = { - enable = mkOption { - type = types.bool; - default = false; - description = "Enable Beets"; - }; - }; - - config = mkIf cfg.enable { +}:{ home.packages = [ pkgs.ffmpeg # for replaygain ]; - sops = { secrets.discogs_json = { path = "${config.xdg.configHome}/beets/discogs_token.json"; @@ -168,5 +155,4 @@ in { }; }; }; - }; } diff --git a/home-manager/global.nix b/home-manager/global.nix deleted file mode 100644 index 13ba09b..0000000 --- a/home-manager/global.nix +++ /dev/null @@ -1,65 +0,0 @@ -{ - #inputs, - lib, - pkgs, - config, - #outputs, - ... -}: { - imports = - [ - # ./beets.nix - # ./keybase.nix - "${inputs.vscode-server}/modules/vscode-server/home.nix" - ]; - # ++ (builtins.attrValues outputs.homeManagerModules); - - ###dotfiles path variable - options._dotfiles = lib.mkOption { - type = lib.types.str; - default = "${inputs.self}/home-manager/dotfiles"; - description = "Path to the dotfiles in this repository"; - }; - - ###secrets path variable - options._secrets = lib.mkOption { - type = lib.types.str; - default = "/run/user/1000/secrets/"; - description = "Path to the Secrets runtime"; - }; - - ###secretstore path variable - options._secretstore = lib.mkOption { - type = lib.types.str; - default = "${inputs.self}/secrets/"; - description = "Path to the Secrets storage"; - }; - - config = { - #nixpkgs = { - # overlays = builtins.attrValues outputs.overlays; - # config = { - # allowUnfree = true; - # allowUnfreePredicate = _: true; - # }; - #}; - - #nix = { - # package = lib.mkDefault pkgs.nix; - # settings = { - # experimental-features = ["nix-command" "flakes" "repl-flake"]; - # warn-dirty = false; - # }; - #}; - - ##VSCode - services.vscode-server.enable = true; - services.vscode-server.enableFHS = true; - services.vscode-server.nodejsPackage = pkgs.nodejs-18_x; - - programs = { - home-manager.enable = true; - git.enable = true; - }; - }; -} diff --git a/home-manager/keybase.nix b/home-manager/keybase.nix new file mode 100644 index 0000000..4c576c7 --- /dev/null +++ b/home-manager/keybase.nix @@ -0,0 +1,20 @@ +{ + config, + pkgs, + inputs, + lib, + util, + hostName, + ... +}:{ + + services.keybase.enable = true; + services.kbfs.enable = true; + systemd.user.services.keybase.Unit.After = ["sops-nix.service"]; + systemd.user.services.kbfs.Unit.After = ["sops-nix.service"]; + + sops = { + secrets = hm_secrets "$../secrets/user_dotfiles/${username}@${hostName}/keybase/" "${config.xdg.configHome}/keybase/"; + }; + +} diff --git a/modules/home-manager/ssh-proxy/default.nix b/home-manager/ssh-proxy.nix similarity index 74% rename from modules/home-manager/ssh-proxy/default.nix rename to home-manager/ssh-proxy.nix index 50a7b33..de4c907 100644 --- a/modules/home-manager/ssh-proxy/default.nix +++ b/home-manager/ssh-proxy.nix @@ -3,21 +3,8 @@ pkgs, config, ... -}: -with lib; let - cfg = config.custom.ssh-proxy; -in { - options.custom.ssh-proxy = { - enable = mkOption { - type = types.bool; - default = false; - description = '' - Enable ssh-proxy for WSL - ''; - }; - }; - - config = mkIf cfg.enable { +}:{ + home.packages = with pkgs; [ npiperelay socat @@ -41,5 +28,4 @@ in { }; }; }; - }; } diff --git a/hosts/StuPC-WSL/default.nix b/hosts/StuPC-WSL/default.nix index f9d5934..7d02204 100644 --- a/hosts/StuPC-WSL/default.nix +++ b/hosts/StuPC-WSL/default.nix @@ -8,6 +8,10 @@ imports = [ ../common.nix ../user-sstent.nix + ../wsl.nix + ../syncthing.nix + ../mnt_public.nix + ../vpn.nix inputs.nixos-wsl.nixosModules.wsl ]; diff --git a/hosts/common.nix b/hosts/common.nix index 49feb93..9c8ea37 100644 --- a/hosts/common.nix +++ b/hosts/common.nix @@ -12,27 +12,6 @@ inputs.sops-nix.nixosModules.sops ]; - ###dotfiles path variable - options._dotfiles = lib.mkOption { - type = lib.types.str; - default = "${inputs.self}/home-manager/dotfiles"; - description = "Path to the dotfiles in this repository"; - }; - - ###secrets path variable - options._secrets = lib.mkOption { - type = lib.types.str; - default = "/run/user/1000/secrets"; - description = "Path to the Secrets runtime"; - }; - - ###secretstore path variable - options._secretstore = lib.mkOption { - type = lib.types.str; - default = "${inputs.self}/secrets"; - description = "Path to the Secrets storage"; - }; - config = { system.stateVersion = "23.05"; @@ -41,18 +20,10 @@ age.sshKeyPaths = ["/etc/ssh/ssh_host_ed25519_key"]; }; - home-manager = { - useUserPackages = true; - #extraSpecialArgs = {inherit inputs outputs;}; - sharedModules = [ - inputs.sops-nix.homeManagerModules.sops - ]; - }; - nixpkgs.config.allowUnfree = true; programs.fuse.userAllowOther = true; security.sudo.wheelNeedsPassword = false; - virtualisation.docker.enable = true; + virtualisation.docker.enable = true; # nixpkgs.overlays = overlays; # Enable nix flakes @@ -64,6 +35,12 @@ # nix.nixPath = [ "nixpkgs=pkgs.outPath" ]; networking.search = ["node.dc1.consul" "service.dc1.consul"]; + ##VSCode + services.vscode-server.enable = true; + services.vscode-server.enableFHS = true; + services.vscode-server.nodejsPackage = pkgs.nodejs-18_x; + + #services.envfs.enable = true; environment.systemPackages = [ pkgs.git diff --git a/hosts/default.nix b/hosts/default.nix deleted file mode 100644 index c8dc875..0000000 --- a/hosts/default.nix +++ /dev/null @@ -1,44 +0,0 @@ -{ system, self, nixpkgs, inputs, ... }: - -let - pkgs = import nixpkgs { - inherit system; - config.allowUnfree = true; # Allow proprietary software - }; - - lib = nixpkgs.lib; -in -{ - StuPC-WSL = lib.nixosSystem { - # Laptop profile - inherit system; - specialArgs = { inherit inputs; }; - modules = [ - #../home-manager #hyprland and sway,go to this dir,choose one - ] ++ [ - ./common.nix - ] ++ [ - inputs.home-manager.nixosModules.home-manager - { - home-manager = { - useGlobalPkgs = true; - useUserPackages = true; - # extraSpecialArgs = { inherit user; }; - users.sstent = { - imports = [ - (import ../home-manager) - ] ++ [ - ]; - }; - }; - nixpkgs = { - overlays = - [ - self.overlays.default - ]; - }; - } - ]; - }; - -} \ No newline at end of file diff --git a/hosts/go3-wsl/default.nix b/hosts/go3-wsl/default.nix index 177116b..cbe6a2f 100644 --- a/hosts/go3-wsl/default.nix +++ b/hosts/go3-wsl/default.nix @@ -8,6 +8,10 @@ imports = [ ../common.nix ../user-sstent.nix + ../wsl.nix + ../syncthing.nix + ../mnt_public.nix + ../vpn.nix inputs.nixos-wsl.nixosModules.wsl ]; diff --git a/modules/nixos/mnt_public/default.nix b/hosts/mnt_public.nix similarity index 58% rename from modules/nixos/mnt_public/default.nix rename to hosts/mnt_public.nix index 165b359..0656b8c 100644 --- a/modules/nixos/mnt_public/default.nix +++ b/hosts/mnt_public.nix @@ -4,18 +4,13 @@ outputs, config, ... -}: -with lib; let - cfg = config.custom.mnt_public; -in { - options.custom.mnt_public.enable = mkEnableOption "Enable mnt/Public"; +}:{ + - config = mkIf cfg.enable { fileSystems."/mnt/Public" = { device = "//192.168.1.109/Public"; fsType = "cifs"; # options = ["uid=0,gid=1000"]; options = ["guest" "uid=1000"]; }; - }; } diff --git a/modules/nixos/ssh/default.nix b/hosts/ssh.nix similarity index 62% rename from modules/nixos/ssh/default.nix rename to hosts/ssh.nix index a69da60..91bbe6a 100644 --- a/modules/nixos/ssh/default.nix +++ b/hosts/ssh.nix @@ -3,14 +3,8 @@ pkgs, config, ... -}: -with lib; let - cfg = config.custom.sshd; -in { +}:{ #define option to enable this - options.custom.sshd.enable = mkEnableOption "Enable SSH"; - - config = mkIf cfg.enable { services.openssh = { enable = true; permitRootLogin = "no"; @@ -18,5 +12,5 @@ in { }; networking.firewall.allowedTCPPorts = [22]; - }; + } diff --git a/modules/nixos/syncthing/default.nix b/hosts/syncthing.nix similarity index 81% rename from modules/nixos/syncthing/default.nix rename to hosts/syncthing.nix index ff84da0..c23a657 100644 --- a/modules/nixos/syncthing/default.nix +++ b/hosts/syncthing.nix @@ -5,12 +5,7 @@ config, ... }: -with lib; let - cfg = config.custom.syncthing; -in { - options.custom.syncthing.enable = mkEnableOption "Enable mnt/Public"; - - config = mkIf cfg.enable { + { services.syncthing = { enable = true; dataDir = "/home/sstent"; @@ -33,5 +28,5 @@ in { }; }; }; - }; + } diff --git a/modules/nixos/vpn/default.nix b/hosts/vpn.nix similarity index 100% rename from modules/nixos/vpn/default.nix rename to hosts/vpn.nix diff --git a/modules/nixos/wsl2/default.nix b/hosts/wsl.nix similarity index 89% rename from modules/nixos/wsl2/default.nix rename to hosts/wsl.nix index 7f66d7a..c9e6d3d 100644 --- a/modules/nixos/wsl2/default.nix +++ b/hosts/wsl.nix @@ -6,12 +6,8 @@ pkgs, ... }: -with lib; let - cfg = config.custom.wsl; -in { - options.custom.wsl.enable = mkEnableOption "Enable WSL2 settings"; + { - config = mkIf cfg.enable { # Enable native Docker support virtualisation.docker.enable = true; @@ -53,5 +49,4 @@ in { }; wantedBy = ["sysinit.target"]; }; - }; } diff --git a/lib/attrs.nix b/lib/attrs.nix deleted file mode 100644 index 99c74bd..0000000 --- a/lib/attrs.nix +++ /dev/null @@ -1,24 +0,0 @@ -{lib, ...}: -with builtins; -with lib; rec { - # attrsToList - attrsToList = attrs: - mapAttrsToList (name: value: {inherit name value;}) attrs; - - # mapFilterAttrs :: - # (name -> value -> bool) - # (name -> value -> { name = any; value = any; }) - # attrs - mapFilterAttrs = pred: f: attrs: filterAttrs pred (mapAttrs' f attrs); - - # Generate an attribute set by mapping a function over a list of values. - genAttrs' = values: f: listToAttrs (map f values); - - # anyAttrs :: (name -> value -> bool) attrs - anyAttrs = pred: attrs: - any (attr: pred attr.name attr.value) (attrsToList attrs); - - # countAttrs :: (name -> value -> bool) attrs - countAttrs = pred: attrs: - count (attr: pred attr.name attr.value) (attrsToList attrs); -} diff --git a/lib/default.nix b/lib/default.nix deleted file mode 100644 index a5404c6..0000000 --- a/lib/default.nix +++ /dev/null @@ -1,37 +0,0 @@ -# {lib}: -# lib.makeExtensible (self: -# let -# callLibs = file: import file { lib = self; }; -# in -# rec { -# ## Define your own library functions here! -# #id = x: x; -# ## Or in files, containing functions that take {lib} -# map = callLibs ./map.nix; -# ## In configs, they can be used under "lib.our" -# }) -{ - inputs, - lib, - pkgs, - ... -}: let - inherit (lib) makeExtensible attrValues foldr; - inherit (modules) mapModules; - - modules = import ./modules.nix { - inherit lib; - self.attrs = import ./attrs.nix { - inherit lib; - self = {}; - }; - }; - - mylib = makeExtensible (self: - with self; - mapModules ./. - (file: import file {inherit self lib pkgs inputs;})); -in - mylib.extend - (self: super: - foldr (a: b: a // b) {} (attrValues super)) diff --git a/lib/generators.nix b/lib/generators.nix deleted file mode 100644 index 6a34e80..0000000 --- a/lib/generators.nix +++ /dev/null @@ -1,32 +0,0 @@ -{ - lib, - pkgs, - ... -}: -with builtins; -with lib; { - toCSSFile = file: let - fileName = removeSuffix ".scss" (baseNameOf file); - compiledStyles = - pkgs.runCommand "compileScssFile" - {buildInputs = [pkgs.sass];} '' - mkdir "$out" - scss --sourcemap=none \ - --no-cache \ - --style compressed \ - --default-encoding utf-8 \ - "${file}" \ - >>"$out/${fileName}.css" - ''; - in "${compiledStyles}/${fileName}.css"; - - toFilteredImage = imageFile: options: let - result = "result.png"; - filteredImage = - pkgs.runCommand "filterWallpaper" - {buildInputs = [pkgs.imagemagick];} '' - mkdir "$out" - convert ${options} ${imageFile} $out/${result} - ''; - in "${filteredImage}/${result}"; -} diff --git a/lib/hm_secrets.nix b/lib/hm_secrets.nix deleted file mode 100644 index c8b8a66..0000000 --- a/lib/hm_secrets.nix +++ /dev/null @@ -1,30 +0,0 @@ -{lib, ...}: let - inherit - (builtins) - readDir - ; - - inherit - (lib) - filterAttrs - hasPrefix - hasSuffix - mapAttrs' - nameValuePair - ; -in rec { - filter = name: func: attrs: filterAttrs name (mapAttrs' func attrs); - - # 'sops' Encrypted Secrets - hm_secrets = dir: out_dir: - filter (name: type: type != null && !(hasPrefix "_" name)) (name: type: - # if type == "regular" && hasSuffix ".age" name - if type == "regular" - then - nameValuePair name { - sopsFile = dir + "/${name}"; - format = "binary"; - path = out_dir + "/${name}"; - } - else nameValuePair "" null) (readDir dir); -} diff --git a/lib/modules.nix b/lib/modules.nix deleted file mode 100644 index 97f1397..0000000 --- a/lib/modules.nix +++ /dev/null @@ -1,60 +0,0 @@ -{ - self, - lib, - ... -}: let - inherit (builtins) attrValues readDir pathExists concatLists; - inherit (lib) id mapAttrsToList filterAttrs hasPrefix hasSuffix nameValuePair removeSuffix; - inherit (self.attrs) mapFilterAttrs; -in rec { - mapModules = dir: fn: - mapFilterAttrs - (n: v: - v - != null - && !(hasPrefix "_" n)) - (n: v: let - path = "${toString dir}/${n}"; - in - if v == "directory" && pathExists "${path}/default.nix" - then nameValuePair n (fn path) - else if - v - == "regular" - && n != "default.nix" - && hasSuffix ".nix" n - then nameValuePair (removeSuffix ".nix" n) (fn path) - else nameValuePair "" null) - (readDir dir); - - mapModules' = dir: fn: - attrValues (mapModules dir fn); - - mapModulesRec = dir: fn: - mapFilterAttrs - (n: v: - v - != null - && !(hasPrefix "_" n)) - (n: v: let - path = "${toString dir}/${n}"; - in - if v == "directory" - then nameValuePair n (mapModulesRec path fn) - else if v == "regular" && n != "default.nix" && hasSuffix ".nix" n - then nameValuePair (removeSuffix ".nix" n) (fn path) - else nameValuePair "" null) - (readDir dir); - - mapModulesRec' = dir: fn: let - dirs = - mapAttrsToList - (k: _: "${dir}/${k}") - (filterAttrs - (n: v: v == "directory" && !(hasPrefix "_" n)) - (readDir dir)); - files = attrValues (mapModules dir id); - paths = files ++ concatLists (map (d: mapModulesRec' d id) dirs); - in - map fn paths; -} diff --git a/lib/nixos.nix b/lib/nixos.nix deleted file mode 100644 index 95393db..0000000 --- a/lib/nixos.nix +++ /dev/null @@ -1,29 +0,0 @@ -{ - inputs, - lib, - pkgs, - ... -}: -with lib; -with lib.my; let - sys = "x86_64-linux"; -in { - mkHost = path: attrs @ {system ? sys, ...}: - nixosSystem { - inherit system; - specialArgs = {inherit lib inputs system;}; - modules = [ - { - nixpkgs.pkgs = pkgs; - networking.hostName = mkDefault (removeSuffix ".nix" (baseNameOf path)); - } - (filterAttrs (n: v: !elem n ["system"]) attrs) - ../. # /default.nix - (import path) - ]; - }; - - mapHosts = dir: attrs @ {system ? system, ...}: - mapModules dir - (hostPath: mkHost hostPath attrs); -} diff --git a/lib/options.nix b/lib/options.nix deleted file mode 100644 index 13d3843..0000000 --- a/lib/options.nix +++ /dev/null @@ -1,16 +0,0 @@ -{lib, ...}: let - inherit (lib) mkOption types; -in rec { - mkOpt = type: default: - mkOption {inherit type default;}; - - mkOpt' = type: default: description: - mkOption {inherit type default description;}; - - mkBoolOpt = default: - mkOption { - inherit default; - type = types.bool; - example = true; - }; -} diff --git a/modules/default.nix b/modules/default.nix deleted file mode 100644 index d372a5b..0000000 --- a/modules/default.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ config, lib, pkgs, ... }: { imports = [ - - -./nixos/mnt_public -./nixos/ssh -./nixos/syncthing -./nixos/vpn -./nixos/wsl2 - -]; } diff --git a/modules/home-manager/default.nix b/modules/home-manager/default.nix deleted file mode 100644 index 134a1a4..0000000 --- a/modules/home-manager/default.nix +++ /dev/null @@ -1,8 +0,0 @@ -{ config, lib, pkgs, ... }: { imports = [ - - -./home-manager/beets -./home-manager/keybase -./home-manager/ssh-proxy - -]; } diff --git a/modules/home-manager/keybase/default.nix b/modules/home-manager/keybase/default.nix deleted file mode 100644 index 9ee8509..0000000 --- a/modules/home-manager/keybase/default.nix +++ /dev/null @@ -1,34 +0,0 @@ -{ - config, - pkgs, - inputs, - lib, - util, - hostName, - ... -}: -with lib; -with lib.my; let - cfg = config.custom.keybase; - username = config.home.username; - secretstore = config._secretstore; -in { - options.custom.keybase = { - enable = mkOption { - type = types.bool; - default = false; - description = "Enable KeyBase"; - }; - }; - - config = mkIf cfg.enable { - services.keybase.enable = true; - services.kbfs.enable = true; - systemd.user.services.keybase.Unit.After = ["sops-nix.service"]; - systemd.user.services.kbfs.Unit.After = ["sops-nix.service"]; - - sops = { - secrets = hm_secrets "${secretstore}/user_dotfiles/${username}@${hostName}/keybase/" "${config.xdg.configHome}/keybase/"; - }; - }; -} diff --git a/modules/nixos/vpn/secrets.nix b/modules/nixos/vpn/secrets.nix deleted file mode 100644 index cad2f7d..0000000 --- a/modules/nixos/vpn/secrets.nix +++ /dev/null @@ -1,18 +0,0 @@ -{ - lib, - pkgs, - config, - ... -}: -with lib; let - secretstore = config._secretstore; - host = config.networking.hostName; - secretpath = "${secretstore}/hosts/${host}/mullvad/device.json"; -in { - sops.secrets.device_json = { - sopsFile = "${secretstore}/hosts/${host}/mullvad/device.json"; - device_json.format = "binary"; - }; - - environment.etc."mullvad-vpn/device.conf".source = config.sops.secrets.device_json.path; -} diff --git a/overlays/default.nix b/overlays/default.nix deleted file mode 100644 index a13ea3c..0000000 --- a/overlays/default.nix +++ /dev/null @@ -1,23 +0,0 @@ -# This file defines overlays -{inputs, ...}: { - # This one brings our custom packages from the 'pkgs' directory - additions = final: _prev: import ../pkgs {pkgs = final;}; - - # This one contains whatever you want to overlay - # You can change versions, add patches, set compilation flags, anything really. - # https://nixos.wiki/wiki/Overlays - modifications = final: prev: { - # example = prev.example.overrideAttrs (oldAttrs: rec { - # ... - # }); - }; - - # When applied, the unstable nixpkgs set (declared in the flake inputs) will - # be accessible through 'pkgs.unstable' - unstable-packages = final: _prev: { - unstable = import inputs.nixpkgs-unstable { - system = final.system; - config.allowUnfree = true; - }; - }; -} diff --git a/pkgs/default.nix b/pkgs/default.nix deleted file mode 100644 index 2c9150f..0000000 --- a/pkgs/default.nix +++ /dev/null @@ -1,12 +0,0 @@ -rec{ - overlay = final: prev: - let - dirContents = builtins.readDir ../pkgs; - genPackage = name: { - inherit name; - value = final.callPackage (../pkgs + "/${name}") { }; - }; - names = builtins.attrNames dirContents; - in - builtins.listToAttrs (map genPackage names); -} \ No newline at end of file diff --git a/pkgs/npiperelay/default.nix b/pkgs/npiperelay/default.nix deleted file mode 100644 index 53e54ee..0000000 --- a/pkgs/npiperelay/default.nix +++ /dev/null @@ -1,52 +0,0 @@ -{ - lib, - stdenv, - fetchurl, - unzip, -}: let - version = "1.6.3"; - srcs = { - x86_64-linux = fetchurl { - url = "https://github.com/jstarks/npiperelay/releases/download/v0.1.0/npiperelay_windows_amd64.zip"; - sha256 = "sha256-a572H/0XwDUHqaPVTYFdzrPa5mmsZ/w79CJdHnZM5fY="; - }; - - # aarch64-linux = fetchurl { - # url = - # "https://deconz.dresden-elektronik.de/debian/stable/deconz_${version}-debian-buster-stable_arm64.deb"; - # sha256 = "sha256-zuy4e9bzcRqDeXP6mfzZLCDK/3we25LH6xktnO6HXps="; - # }; - }; -in - stdenv.mkDerivation rec { - pname = "npiperelay"; - inherit version; - - src = srcs.${stdenv.hostPlatform.system}; - - nativeBuildInputs = [unzip]; - - #buildInputs = [ qtserialport qtwebsockets ]; - unpackPhase = '' - mkdir npiperelay-$version - cd npiperelay-$version - unzip $src - ''; - #unpackPhase = "dpkg-deb -x $src ."; - - installPhase = '' - mkdir -p $out/bin - cp npiperelay.exe $out/bin/npiperelay.exe - chmod +x $out/bin/npiperelay.exe - ''; - - meta = with lib; { - description = "Helper to interface with Windows ssh-agent.exe service from Windows Subsystem for Linux (WSL)"; - # 2019-08-19: The homepage links to old software that doesn't even work -- - # it fails to detect ConBee2. - homepage = "https://github.com/rupor-github/wsl-ssh-agent"; - license = licenses.free; - platforms = ["x86_64-linux"]; - maintainers = with maintainers; [sstent]; - }; - }