disko siken

This commit is contained in:
tulg 2025-10-19 21:56:53 +03:00
parent 014c7a45bb
commit 1b0796e4dd
8 changed files with 319 additions and 27 deletions

62
flake.fucked Normal file
View file

@ -0,0 +1,62 @@
{
description = "Tulga's multi-device NixOS configuration (no global modules)";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
nix-colors.url = "github:misterio77/nix-colors";
zen-browser = {
url = "github:0xc000022070/zen-browser-flake";
inputs.nixpkgs.follows = "nixpkgs";
};
disko = {
url = "github:nix-community/disko";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs = { self, nixpkgs, home-manager, nix-colors, disko, ... } @ inputs:
let
system = "x86_64-linux";
pkgs = import nixpkgs {
inherit system;
config.allowUnfree = true;
};
in {
#
nixosConfigurations.virgil = nixpkgs.lib.nixosSystem {
inherit system;
modules = [
./hosts/virgil/configuration.nix
home-manager.nixosModules.home-manager
./modules/home.nix
];
specialArgs = { inherit inputs pkgs self ; };
};
#
nixosConfigurations.archangel = nixpkgs.lib.nixosSystem {
inherit system;
modules = [
./hosts/archangel/configuration.nix
];
specialArgs = { inherit ; };
};
# placeholder
#nixosConfigurations.server = nixpkgs.lib.nixosSystem {
# inherit system;
# modules = [
# ./hosts/server/configuration.nix
# ];
# };
};
}

63
flake.lock generated
View file

@ -43,11 +43,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1760641408, "lastModified": 1760887455,
"narHash": "sha256-Y086n2U0kN9HjOo+UScwQDS27gKMiIlT6vDehvlmdAg=", "narHash": "sha256-/xU8iYZjolWbMUNBQF6af5zgGs73Qw21WMgz1tLs3Yw=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "847669dabf374d32a072bdab3f08cae7296ac011", "rev": "aeabc1ac63e6ebb8ba4714c4abdfe0556f2de765",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -127,15 +127,66 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs_2": {
"locked": {
"lastModified": 1760524057,
"narHash": "sha256-EVAqOteLBFmd7pKkb0+FIUyzTF61VKi7YmvP1tw4nEw=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "544961dfcce86422ba200ed9a0b00dd4b1486ec5",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"root": { "root": {
"inputs": { "inputs": {
"disko": "disko", "disko": "disko",
"home-manager": "home-manager", "home-manager": "home-manager",
"nix-colors": "nix-colors", "nix-colors": "nix-colors",
"nixpkgs": "nixpkgs", "nixpkgs": "nixpkgs",
"spicetify-nix": "spicetify-nix",
"zen-browser": "zen-browser" "zen-browser": "zen-browser"
} }
}, },
"spicetify-nix": {
"inputs": {
"nixpkgs": "nixpkgs_2",
"systems": "systems"
},
"locked": {
"lastModified": 1760848035,
"narHash": "sha256-H3MFH8+i4wFagkebtHPcosQdkmxQ4a6fl1lMbLb+RkA=",
"owner": "Gerg-L",
"repo": "spicetify-nix",
"rev": "cde9f78ae705343a38f5d1d19ab34858b5e9caa9",
"type": "github"
},
"original": {
"owner": "Gerg-L",
"repo": "spicetify-nix",
"type": "github"
}
},
"systems": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"zen-browser": { "zen-browser": {
"inputs": { "inputs": {
"home-manager": "home-manager_2", "home-manager": "home-manager_2",
@ -144,11 +195,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1760646099, "lastModified": 1760898315,
"narHash": "sha256-hFoiRU9tM0ilgZS4gSO00nbnsuTQoYGQBb8+5Vma3Og=", "narHash": "sha256-d2qbZpREjUQm65lzS70b2TVgTfOpAjQUZa+FS58+WnA=",
"owner": "0xc000022070", "owner": "0xc000022070",
"repo": "zen-browser-flake", "repo": "zen-browser-flake",
"rev": "f3fd50667a6ab075b1e7c406ff30c54684cefa16", "rev": "5e52b6a9ec07d22c9555891005b1b39f1bbd83ed",
"type": "github" "type": "github"
}, },
"original": { "original": {

98
flake.morefucked Normal file
View file

@ -0,0 +1,98 @@
{
description = "NixOS configuration";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
spicetify-nix.url = "github:Gerg-L/spicetify-nix";
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
nix-colors.url = "github:misterio77/nix-colors";
zen-browser = {
url = "github:0xc000022070/zen-browser-flake";
inputs.nixpkgs.follows = "nixpkgs";
};
disko = {
url = "github:nix-community/disko";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs = { self, nixpkgs, home-manager, nix-colors, disko, ... } @ inputs:
let
system = "x86_64-linux";
pkgs = import nixpkgs {
inherit system;
config.allowUnfree = true;
};
in
{
nixosConfigurations = {
# ------------------------
# Virgil machine
# ------------------------
virgil = nixpkgs.lib.nixosSystem {
inherit system;
modules = [
./hosts/virgil/configuration.nix
home-manager.nixosModules.home-manager
inputs.disko.nixosModules.disko
{
home-manager.users.tulg.imports = [ ./modules/home.nix ];
home-manager.extraSpecialArgs = {
spicetify-nix = inputs.spicetify-nix;
zen-browser = inputs.zen-browser;
};
}
];
};
# ------------------------
# archangel
# ------------------------
archangel = nixpkgs.lib.nixosSystem {
inherit system;
modules = [
./hosts/archangel/configuration.nix
home-manager.nixosModules.home-manager
{
home-manager.users.tulg.imports = [ ./modules/home.nix ];
home-manager.extraSpecialArgs = {
spicetify-nix = inputs.spicetify-nix;
zen-browser = inputs.zen-browser;
};
}
];
};
# ------------------------
# Placeholder machine 2
# ------------------------
machine2 = nixpkgs.lib.nixosSystem {
inherit system;
modules = [
./hosts/machine2/configuration.nix
home-manager.nixosModules.home-manager
{
home-manager.users.tulg.imports = [ ./modules/home.nix ];
home-manager.extraSpecialArgs = {
spicetify-nix = inputs.spicetify-nix;
zen-browser = inputs.zen-browser;
};
}
];
};
};
};
}

View file

@ -1,8 +1,9 @@
{ {
description = "Tulga's multi-device NixOS configuration (no global modules)"; description = "NixOS configuration";
inputs = { inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
spicetify-nix.url = "github:Gerg-L/spicetify-nix";
home-manager = { home-manager = {
url = "github:nix-community/home-manager"; url = "github:nix-community/home-manager";
@ -22,35 +23,79 @@
}; };
}; };
outputs = { self, nixpkgs, home-manager, nix-colors, zen-browser, disko, ... }: outputs = { self, nixpkgs, home-manager, nix-colors, disko, ... } @ inputs:
let let
system = "x86_64-linux"; system = "x86_64-linux";
in { pkgs = import nixpkgs {
# inherit system;
config.allowUnfree = true;
};
in
{
nixosConfigurations.virgil = nixpkgs.lib.nixosSystem { nixosConfigurations.virgil = nixpkgs.lib.nixosSystem {
inherit system; inherit system;
specialArgs = { inherit inputs; };
modules = [ modules = [
./hosts/virgil/configuration.nix ./hosts/virgil/configuration.nix
home-manager.nixosModules.home-manager home-manager.nixosModules.home-manager
inputs.disko.nixosModules.disko
{
home-manager = {
useGlobalPkgs = true;
useUserPackages = true;
extraSpecialArgs = { inherit inputs nix-colors; };
backupFileExtension = "backup";
users.tulg = {
imports = [ ./modules/home.nix ];
};
};
}
]; ];
specialArgs = { inherit home-manager; };
}; };
#
nixosConfigurations.archangel = nixpkgs.lib.nixosSystem { nixosConfigurations.archangel = nixpkgs.lib.nixosSystem {
inherit system; inherit system;
specialArgs = { inherit inputs; };
modules = [ modules = [
./hosts/archangel/configuration.nix ./hosts/archangel/configuration.nix
home-manager.nixosModules.home-manager home-manager.nixosModules.home-manager
]; inputs.disko.nixosModules.disko
}; {
home-manager = {
useGlobalPkgs = true;
useUserPackages = true;
extraSpecialArgs = { inherit inputs nix-colors; };
backupFileExtension = "backup";
# placeholder users.tulg = {
#nixosConfigurations.server = nixpkgs.lib.nixosSystem { imports = [ ./modules/home.nix ];
# inherit system; };
# modules = [ };
# ./hosts/server/configuration.nix }
# ]; ];
# }; };
#placeholder
nixosConfigurations.phoenix = nixpkgs.lib.nixosSystem {
inherit system;
specialArgs = { inherit inputs; };
modules = [
./hosts/phoenix/configuration.nix
home-manager.nixosModules.home-manager
inputs.disko.nixosModules.disko
{
home-manager = {
useGlobalPkgs = true;
useUserPackages = true;
extraSpecialArgs = { inherit inputs nix-colors; };
backupFileExtension = "backup";
users.tulg = {
imports = [ ./modules/home.nix ];
};
};
}
];
};
}; };
} }

View file

@ -36,7 +36,7 @@
inherit system; inherit system;
specialArgs = { inherit inputs; }; specialArgs = { inherit inputs; };
modules = [ modules = [
./configuration.nix ./hosts/virgil/configuration.nix
home-manager.nixosModules.home-manager home-manager.nixosModules.home-manager
inputs.disko.nixosModules.disko inputs.disko.nixosModules.disko
{ {
@ -50,7 +50,7 @@
backupFileExtension = "backup"; backupFileExtension = "backup";
users.tulg = { users.tulg = {
imports = [ ./home.nix ]; imports = [ ./modules/home.nix ];
}; };
}; };
} }

View file

@ -2,17 +2,16 @@
# your system. Help is available in the configuration.nix(5) man page # your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running nixos-help). # and in the NixOS manual (accessible by running nixos-help).
{ config, pkgs, home-manager, ... }: { config, pkgs, self, ... }:
{ {
imports = imports =
[ # Include the results of the hardware scan. [ # Include the results of the hardware scan.
# ./disko.nix
./hardware-configuration.nix ./hardware-configuration.nix
home-manager.nixosModules.home-manager
]; ];
home-manager.users.tulg = import ../../modules/home.nix;
# Bootloader. # Bootloader.
boot.loader.systemd-boot.enable = true; boot.loader.systemd-boot.enable = true;

36
hosts/virgil/disko.nix Normal file
View file

@ -0,0 +1,36 @@
{
disko.devices = {
disk = {
nixos = {
type = "disk";
device = "/dev/vda";
content = {
type = "gpt";
partitions = {
boot = {
size = "1M";
type = "EF02"; # for grub MBR
};
ESP = {
size = "512M";
type = "EF00";
content = {
type = "filesystem";
format = "vfat";
mountpoint = "/boot";
};
};
root = {
size = "100%";
content = {
type = "filesystem";
format = "ext4";
mountpoint = "/";
};
};
};
};
};
};
};
}

View file

@ -1,4 +1,4 @@
{ config, lib, pkgs, inputs, nix-colors, ... }: { config, lib, pkgs, inputs, ... }:
let let
dots = "${config.home.homeDirectory}/nixdots/config"; dots = "${config.home.homeDirectory}/nixdots/config";
@ -11,6 +11,7 @@ in
inputs.spicetify-nix.homeManagerModules.default inputs.spicetify-nix.homeManagerModules.default
]; ];
# Home Manager settings
home.username = "tulg"; home.username = "tulg";
home.homeDirectory = "/home/tulg"; home.homeDirectory = "/home/tulg";
home.stateVersion = "25.05"; home.stateVersion = "25.05";