🔧 flakes + deploy-rs conversion
This commit is contained in:
parent
17931a7b7b
commit
73a072ae49
63
flake.lock
generated
63
flake.lock
generated
@ -20,6 +20,27 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"dotfiles": {
|
||||||
|
"inputs": {
|
||||||
|
"home-manager": "home-manager",
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1651201720,
|
||||||
|
"narHash": "sha256-nx4UKikzjZLunB1VUf5I8jFurn0rfc3y1xceb6deDmI=",
|
||||||
|
"owner": "walkah",
|
||||||
|
"repo": "dotfiles",
|
||||||
|
"rev": "a9529560bffd9d1093e957b9b5d7bdcedaa39f8e",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "walkah",
|
||||||
|
"repo": "dotfiles",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"flake-compat": {
|
"flake-compat": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
@ -52,15 +73,36 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"home-manager": {
|
"home-manager": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"dotfiles",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1640592198,
|
||||||
|
"narHash": "sha256-F5dWVGQMscmGyLTzNLocPB1v8Ijp8ONx8Nq9Dmi5PSw=",
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "home-manager",
|
||||||
|
"rev": "0b197562ab7bf114dd5f6716f41d4b5be6ccd357",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "home-manager",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"home-manager_2": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": "nixpkgs_2"
|
"nixpkgs": "nixpkgs_2"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1651007090,
|
"lastModified": 1651531343,
|
||||||
"narHash": "sha256-C/OoQRzTUOWEr1sd3xTKA2GudA1YG1XB3MlL6KfTchg=",
|
"narHash": "sha256-DBJFMNlWcht3jdKE2KVbcy1g/e/yryrSs1qSViQd4lE=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "778af87a981eb2bfa3566dff8c3fb510856329ef",
|
"rev": "0304f0f58b4c538ff704c58d53a778b062810ec7",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -87,11 +129,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs_2": {
|
"nixpkgs_2": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1651114127,
|
"lastModified": 1651369430,
|
||||||
"narHash": "sha256-/lLC0wkMZkAdA5e1W76SnJzbhfOGDvync3VRHJMtAKk=",
|
"narHash": "sha256-d86uUm0s11exU9zLo2K1AwtJQJDKubFpoF0Iw767uT4=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "6766fb6503ae1ebebc2a9704c162b2aef351f921",
|
"rev": "b283b64580d1872333a99af2b4cef91bb84580cf",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -101,11 +143,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs_3": {
|
"nixpkgs_3": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1651007983,
|
"lastModified": 1651558728,
|
||||||
"narHash": "sha256-GNay7yDPtLcRcKCNHldug85AhAvBpTtPEJWSSDYBw8U=",
|
"narHash": "sha256-8HzyRnWlgZluUrVFNOfZAOlA1fghpOSezXvxhalGMUo=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "e10da1c7f542515b609f8dfbcf788f3d85b14936",
|
"rev": "cbe587c735b734405f56803e267820ee1559e6c1",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -118,8 +160,9 @@
|
|||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"deploy-rs": "deploy-rs",
|
"deploy-rs": "deploy-rs",
|
||||||
|
"dotfiles": "dotfiles",
|
||||||
"flake-utils": "flake-utils",
|
"flake-utils": "flake-utils",
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager_2",
|
||||||
"nixpkgs": "nixpkgs_3"
|
"nixpkgs": "nixpkgs_3"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
111
flake.nix
111
flake.nix
@ -6,9 +6,30 @@
|
|||||||
home-manager.url = "github:nix-community/home-manager";
|
home-manager.url = "github:nix-community/home-manager";
|
||||||
flake-utils.url = "github:numtide/flake-utils";
|
flake-utils.url = "github:numtide/flake-utils";
|
||||||
deploy-rs.url = "github:serokell/deploy-rs";
|
deploy-rs.url = "github:serokell/deploy-rs";
|
||||||
|
|
||||||
|
# My stuff
|
||||||
|
dotfiles = {
|
||||||
|
url = "github:walkah/dotfiles";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = { self, nixpkgs, deploy-rs, flake-utils, ... }:
|
outputs = { self, nixpkgs, deploy-rs, flake-utils, home-manager, dotfiles, ... }@attrs:
|
||||||
|
let
|
||||||
|
mkSystem = hostName: system: modules:
|
||||||
|
nixpkgs.lib.nixosSystem {
|
||||||
|
system = system;
|
||||||
|
modules = [
|
||||||
|
home-manager.nixosModules.home-manager
|
||||||
|
({ config, ... }: {
|
||||||
|
networking.hostName = hostName;
|
||||||
|
home-manager.useGlobalPkgs = true;
|
||||||
|
home-manager.useUserPackages = true;
|
||||||
|
})
|
||||||
|
]
|
||||||
|
++ modules;
|
||||||
|
};
|
||||||
|
in
|
||||||
flake-utils.lib.eachDefaultSystem
|
flake-utils.lib.eachDefaultSystem
|
||||||
(system:
|
(system:
|
||||||
let
|
let
|
||||||
@ -16,35 +37,18 @@
|
|||||||
in
|
in
|
||||||
{
|
{
|
||||||
devShells.default = pkgs.mkShell {
|
devShells.default = pkgs.mkShell {
|
||||||
buildInputs = [
|
buildInputs = [ deploy-rs.packages.${system}.deploy-rs pkgs.sops ];
|
||||||
deploy-rs.packages.${system}.deploy-rs
|
|
||||||
pkgs.sops
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
}
|
}) // {
|
||||||
)
|
|
||||||
// {
|
|
||||||
nixosConfigurations = {
|
nixosConfigurations = {
|
||||||
agent = nixpkgs.lib.nixosSystem {
|
# Aristotle
|
||||||
system = "aarch64-linux";
|
agent = mkSystem "agent" "aarch64-linux" [ ./hosts/aristotle/configuration.nix ];
|
||||||
modules = [
|
form = mkSystem "form" "aarch64-linux" [ ./hosts/aristotle/configuration.nix ];
|
||||||
./hosts/aristotle/configuration.nix
|
matter = mkSystem "matter" "aarch64-linux" [ ./hosts/aristotle/configuration.nix ];
|
||||||
({ config, ... }: {
|
purpose = mkSystem "purpose" "aarch64-linux" [ ./hosts/aristotle/configuration.nix ];
|
||||||
networking.hostName = "agent";
|
|
||||||
})
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
form = nixpkgs.lib.nixosSystem {
|
|
||||||
system = "aarch64-linux";
|
|
||||||
modules = [
|
|
||||||
./hosts/aristotle/configuration.nix
|
|
||||||
({ config, ... }: {
|
|
||||||
networking.hostName = "form";
|
|
||||||
})
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
|
plato = mkSystem "plato" "x86_64-linux" [ ./hosts/plato/configuration.nix ];
|
||||||
|
socrates = mkSystem "socrates" "x86_64-linux" [ ./hosts/socrates/configuration.nix ];
|
||||||
};
|
};
|
||||||
|
|
||||||
deploy.nodes = {
|
deploy.nodes = {
|
||||||
@ -67,6 +71,59 @@
|
|||||||
self.nixosConfigurations.form;
|
self.nixosConfigurations.form;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
matter = {
|
||||||
|
hostname = "matter";
|
||||||
|
sshUser = "root";
|
||||||
|
profiles.system = {
|
||||||
|
user = "root";
|
||||||
|
path = deploy-rs.lib.aarch64-linux.activate.nixos
|
||||||
|
self.nixosConfigurations.matter;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
purpose = {
|
||||||
|
hostname = "purpose";
|
||||||
|
sshUser = "root";
|
||||||
|
profiles.system = {
|
||||||
|
user = "root";
|
||||||
|
path = deploy-rs.lib.aarch64-linux.activate.nixos
|
||||||
|
self.nixosConfigurations.purpose;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
plato = {
|
||||||
|
hostname = "plato";
|
||||||
|
profiles = {
|
||||||
|
system = {
|
||||||
|
user = "root";
|
||||||
|
path = deploy-rs.lib.x86_64-linux.activate.nixos
|
||||||
|
self.nixosConfigurations.plato;
|
||||||
|
};
|
||||||
|
walkah = {
|
||||||
|
user = "walkah";
|
||||||
|
path = deploy-rs.lib.x86_64-linux.activate.home-manager
|
||||||
|
dotfiles.homeConfigurations.x86_64-linux;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
socrates = {
|
||||||
|
hostname = "socrates";
|
||||||
|
sshUser = "root";
|
||||||
|
profiles = {
|
||||||
|
system = {
|
||||||
|
user = "root";
|
||||||
|
path = deploy-rs.lib.x86_64-linux.activate.nixos
|
||||||
|
self.nixosConfigurations.socrates;
|
||||||
|
};
|
||||||
|
walkah = {
|
||||||
|
user = "walkah";
|
||||||
|
path = deploy-rs.lib.x86_64-linux.activate.home-manager
|
||||||
|
dotfiles.homeConfigurations.x86_64-linux;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,14 +1,7 @@
|
|||||||
{ config, pkgs, ... }:
|
{ config, pkgs, home-manager, ... }: {
|
||||||
|
|
||||||
let
|
|
||||||
dotfiles = builtins.fetchTarball
|
|
||||||
"https://github.com/walkah/dotfiles/archive/main.tar.gz";
|
|
||||||
in
|
|
||||||
{
|
|
||||||
imports = [
|
imports = [
|
||||||
# Include the results of the hardware scan.
|
# Include the results of the hardware scan.
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
<home-manager/nixos>
|
|
||||||
|
|
||||||
../../modules/coredns
|
../../modules/coredns
|
||||||
../../modules/code-server
|
../../modules/code-server
|
||||||
@ -52,7 +45,6 @@ in
|
|||||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIM8YMax7PGIrcPNIHkpuNRFgn3HJK6Wepm+ycZWO6jfR walkah@walkah-ipadpro11"
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIM8YMax7PGIrcPNIHkpuNRFgn3HJK6Wepm+ycZWO6jfR walkah@walkah-ipadpro11"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
home-manager.users.walkah = import "${dotfiles}/home.nix";
|
|
||||||
|
|
||||||
system.autoUpgrade.enable = false;
|
system.autoUpgrade.enable = false;
|
||||||
environment.systemPackages = with pkgs; [ docker-compose pinentry weechat ];
|
environment.systemPackages = with pkgs; [ docker-compose pinentry weechat ];
|
||||||
|
@ -1,14 +1,7 @@
|
|||||||
{ pkgs, ... }:
|
{ pkgs, ... }: {
|
||||||
|
|
||||||
let
|
|
||||||
dotfiles = builtins.fetchTarball
|
|
||||||
"https://github.com/walkah/dotfiles/archive/main.tar.gz";
|
|
||||||
in
|
|
||||||
{
|
|
||||||
imports = [
|
imports = [
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
./networking.nix # generated at runtime by nixos-infect
|
./networking.nix # generated at runtime by nixos-infect
|
||||||
<home-manager/nixos>
|
|
||||||
|
|
||||||
../../modules/coredns
|
../../modules/coredns
|
||||||
../../modules/code-server/nginx.nix
|
../../modules/code-server/nginx.nix
|
||||||
@ -47,7 +40,6 @@ in
|
|||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
home-manager.users.walkah = import "${dotfiles}/home.nix";
|
|
||||||
|
|
||||||
system.autoUpgrade.enable = false;
|
system.autoUpgrade.enable = false;
|
||||||
environment.systemPackages = with pkgs; [ ipfs-migrator ];
|
environment.systemPackages = with pkgs; [ ipfs-migrator ];
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{ ... }:
|
{ modulesPath, ... }:
|
||||||
{
|
{
|
||||||
imports = [ <nixpkgs/nixos/modules/profiles/qemu-guest.nix> ];
|
imports = [ (modulesPath + "/profiles/qemu-guest.nix") ];
|
||||||
boot.loader.grub.device = "/dev/vda";
|
boot.loader.grub.device = "/dev/vda";
|
||||||
fileSystems."/" = { device = "/dev/vda1"; fsType = "ext4"; };
|
fileSystems."/" = { device = "/dev/vda1"; fsType = "ext4"; };
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user