Add Jovian back again to try it out
This commit is contained in:
parent
3d3c89c326
commit
5c8c68331d
11 changed files with 256 additions and 19 deletions
72
flake.lock
generated
72
flake.lock
generated
|
@ -2,7 +2,7 @@
|
||||||
"nodes": {
|
"nodes": {
|
||||||
"avf": {
|
"avf": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1745286281,
|
"lastModified": 1745372740,
|
||||||
"narHash": "sha256-pkbIduXLW85yB5wV6j72Gpxz5JJhuJBZxhXWsJ4BMd8=",
|
"narHash": "sha256-pkbIduXLW85yB5wV6j72Gpxz5JJhuJBZxhXWsJ4BMd8=",
|
||||||
"type": "tarball",
|
"type": "tarball",
|
||||||
"url": "https://github.com/nix-community/nixos-avf/releases/download/nixos-24.11/avf-channel-24.11-aarch64.tar.xz"
|
"url": "https://github.com/nix-community/nixos-avf/releases/download/nixos-24.11/avf-channel-24.11-aarch64.tar.xz"
|
||||||
|
@ -15,7 +15,7 @@
|
||||||
"avf-channel": {
|
"avf-channel": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1,
|
"lastModified": 1,
|
||||||
"narHash": "sha256-56qCMHw9q2hkyh6qlbrTKTN102OfZPkXVI4YGLa5Wgc=",
|
"narHash": "sha256-iA5CEp0rAhYInuOhyoIt5kvp+2fqNtWjd5aezFVlCxs=",
|
||||||
"type": "tarball",
|
"type": "tarball",
|
||||||
"url": "https://github.com/nix-community/nixos-avf/releases/download/nixos-24.11/nixos-channel-24.11-aarch64.tar.xz"
|
"url": "https://github.com/nix-community/nixos-avf/releases/download/nixos-24.11/nixos-channel-24.11-aarch64.tar.xz"
|
||||||
},
|
},
|
||||||
|
@ -85,11 +85,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1745224732,
|
"lastModified": 1745369821,
|
||||||
"narHash": "sha256-0OWgbEKhpMLpk3WQi3ugOwxWW4Y6JVpKiQ+o0nuNzus=",
|
"narHash": "sha256-mi6cAjuBztm9gFfpiVo6mAn81cCID6nmDXh5Kmyjwyc=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "disko",
|
"repo": "disko",
|
||||||
"rev": "1770bf1ae5da05564f86b969ef21c7228cc1a70b",
|
"rev": "c5140c6079ff690e85eac0b86e254de16a79a4b7",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -282,6 +282,27 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"jovian": {
|
||||||
|
"inputs": {
|
||||||
|
"nix-github-actions": "nix-github-actions",
|
||||||
|
"nixpkgs": [
|
||||||
|
"unstable"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1745389204,
|
||||||
|
"narHash": "sha256-gGP+nJ513TrZVL3gbri6iJgMUnNwQz+ntGQE/T5H5rs=",
|
||||||
|
"owner": "Jovian-Experiments",
|
||||||
|
"repo": "Jovian-NixOS",
|
||||||
|
"rev": "25ef314fdbff45e1ec790416f1ddb030bcd2af61",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "Jovian-Experiments",
|
||||||
|
"repo": "Jovian-NixOS",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"lanzaboote": {
|
"lanzaboote": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"crane": "crane",
|
"crane": "crane",
|
||||||
|
@ -340,11 +361,11 @@
|
||||||
"nixpkgs": "nixpkgs_2"
|
"nixpkgs": "nixpkgs_2"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1745287043,
|
"lastModified": 1745373492,
|
||||||
"narHash": "sha256-y8DH++s3Zt9LDCRDp7+tehFaeLs4WXRxnR3lFC5qbuY=",
|
"narHash": "sha256-gZG/Lpqo4vcey27lyXtAt1jy74cTJ0G+mwCT7dBxapA=",
|
||||||
"owner": "Infinidoge",
|
"owner": "Infinidoge",
|
||||||
"repo": "nix-minecraft",
|
"repo": "nix-minecraft",
|
||||||
"rev": "9c4b4690ea3a1f7233e7f9d3bdfa88e464f77d57",
|
"rev": "41913d868adce57fa88f678e10c3965a2560e541",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -353,6 +374,28 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"nix-github-actions": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"jovian",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1729697500,
|
||||||
|
"narHash": "sha256-VFTWrbzDlZyFHHb1AlKRiD/qqCJIripXKiCSFS8fAOY=",
|
||||||
|
"owner": "zhaofengli",
|
||||||
|
"repo": "nix-github-actions",
|
||||||
|
"rev": "e418aeb728b6aa5ca8c5c71974e7159c2df1d8cf",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "zhaofengli",
|
||||||
|
"ref": "matrix-name",
|
||||||
|
"repo": "nix-github-actions",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1733808091,
|
"lastModified": 1733808091,
|
||||||
|
@ -424,11 +467,11 @@
|
||||||
"treefmt-nix": "treefmt-nix"
|
"treefmt-nix": "treefmt-nix"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1745353885,
|
"lastModified": 1745430461,
|
||||||
"narHash": "sha256-pPO6GlommUHHbjIilUCBeZdHI4SUyGfTJFBrT6rKhfk=",
|
"narHash": "sha256-hQs026p3fxkwVxRSF0GIGZ51CiZugNNLyt42IwCh+7g=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "NUR",
|
"repo": "NUR",
|
||||||
"rev": "8bb84605f2d228a466a10b97fa8aa2dc2995cd7d",
|
"rev": "3b16e74eae922df0a2ad3a4da3d1779fcd426c3d",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -472,6 +515,7 @@
|
||||||
"disko": "disko",
|
"disko": "disko",
|
||||||
"hm": "hm",
|
"hm": "hm",
|
||||||
"impermanence": "impermanence",
|
"impermanence": "impermanence",
|
||||||
|
"jovian": "jovian",
|
||||||
"lanzaboote": "lanzaboote",
|
"lanzaboote": "lanzaboote",
|
||||||
"mailserver": "mailserver",
|
"mailserver": "mailserver",
|
||||||
"minecraft": "minecraft",
|
"minecraft": "minecraft",
|
||||||
|
@ -507,11 +551,11 @@
|
||||||
},
|
},
|
||||||
"stable": {
|
"stable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1744440957,
|
"lastModified": 1745279238,
|
||||||
"narHash": "sha256-FHlSkNqFmPxPJvy+6fNLaNeWnF1lZSgqVCl/eWaJRc4=",
|
"narHash": "sha256-AQ7M9wTa/Pa/kK5pcGTgX/DGqMHyzsyINfN7ktsI7Fo=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "26d499fc9f1d567283d5d56fcf367edd815dba1d",
|
"rev": "9684b53175fc6c09581e94cc85f05ab77464c7e3",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
17
flake.nix
17
flake.nix
|
@ -17,6 +17,15 @@
|
||||||
inputs.nixpkgs.follows = "stable";
|
inputs.nixpkgs.follows = "stable";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# Hardware specific
|
||||||
|
jovian = {
|
||||||
|
url = "github:Jovian-Experiments/Jovian-NixOS";
|
||||||
|
inputs.nixpkgs.follows = "unstable";
|
||||||
|
};
|
||||||
|
|
||||||
|
avf.url = "https://github.com/nix-community/nixos-avf/releases/download/nixos-24.11/avf-channel-24.11-aarch64.tar.xz";
|
||||||
|
avf-channel.url = "https://github.com/nix-community/nixos-avf/releases/download/nixos-24.11/nixos-channel-24.11-aarch64.tar.xz";
|
||||||
|
|
||||||
# Service inputs
|
# Service inputs
|
||||||
mailserver = {
|
mailserver = {
|
||||||
url = "gitlab:simple-nixos-mailserver/nixos-mailserver/nixos-24.11";
|
url = "gitlab:simple-nixos-mailserver/nixos-mailserver/nixos-24.11";
|
||||||
|
@ -25,10 +34,6 @@
|
||||||
|
|
||||||
minecraft.url = "github:Infinidoge/nix-minecraft";
|
minecraft.url = "github:Infinidoge/nix-minecraft";
|
||||||
|
|
||||||
# Android inputs
|
|
||||||
avf.url = "https://github.com/nix-community/nixos-avf/releases/download/nixos-24.11/avf-channel-24.11-aarch64.tar.xz";
|
|
||||||
avf-channel.url = "https://github.com/nix-community/nixos-avf/releases/download/nixos-24.11/nixos-channel-24.11-aarch64.tar.xz";
|
|
||||||
|
|
||||||
# Home inputs
|
# Home inputs
|
||||||
hm = {
|
hm = {
|
||||||
url = "github:nix-community/home-manager/release-24.11";
|
url = "github:nix-community/home-manager/release-24.11";
|
||||||
|
@ -53,6 +58,7 @@
|
||||||
mailserver,
|
mailserver,
|
||||||
minecraft,
|
minecraft,
|
||||||
|
|
||||||
|
jovian,
|
||||||
avf,
|
avf,
|
||||||
avf-channel,
|
avf-channel,
|
||||||
|
|
||||||
|
@ -77,7 +83,8 @@
|
||||||
tower = mkNix [ ./hosts/tower ] stable; # Main Desktop
|
tower = mkNix [ ./hosts/tower ] stable; # Main Desktop
|
||||||
|
|
||||||
envy = mkNix [ ./hosts/envy ] stable; # HP Convertable
|
envy = mkNix [ ./hosts/envy ] stable; # HP Convertable
|
||||||
intuos = mkNix [ ./hosts/intuos ] unstable; # Wacom Intuos Tablet
|
intuos = mkNix [ ./hosts/intuos ] stable; # Wacom Intuos Tablet
|
||||||
|
jupiter = mkNix [ ./hosts/jupiter ] unstable; # Steam Deck
|
||||||
redmond = mkNix [ ./hosts/redmond ] stable; # Lenovo Dual-Boot
|
redmond = mkNix [ ./hosts/redmond ] stable; # Lenovo Dual-Boot
|
||||||
|
|
||||||
droid = mkNix [ ./hosts/droid ] avf-channel; # Android Virtualization Framework
|
droid = mkNix [ ./hosts/droid ] avf-channel; # Android Virtualization Framework
|
||||||
|
|
8
hosts/jupiter/boot/default.nix
Normal file
8
hosts/jupiter/boot/default.nix
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
boot = {
|
||||||
|
kernelPackages = pkgs.linuxPackages_latest;
|
||||||
|
loader.systemd-boot.enable = true;
|
||||||
|
plymouth.enable = true;
|
||||||
|
};
|
||||||
|
}
|
28
hosts/jupiter/default.nix
Normal file
28
hosts/jupiter/default.nix
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
{ lib, jovian, ... }:
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./boot
|
||||||
|
./disko
|
||||||
|
./filesystems
|
||||||
|
./hardware
|
||||||
|
./network
|
||||||
|
./users
|
||||||
|
../../modules/system
|
||||||
|
];
|
||||||
|
|
||||||
|
networking = {
|
||||||
|
hostName = "jupiter";
|
||||||
|
wireless.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
system = {
|
||||||
|
desktop.enable = true;
|
||||||
|
stateVersion = "24.05";
|
||||||
|
};
|
||||||
|
|
||||||
|
jovian = {
|
||||||
|
steam.enable = true;
|
||||||
|
hardware.has.amd.gpu = true;
|
||||||
|
decky-loader.enable = true;
|
||||||
|
}
|
||||||
|
}
|
93
hosts/jupiter/disko/default.nix
Normal file
93
hosts/jupiter/disko/default.nix
Normal file
|
@ -0,0 +1,93 @@
|
||||||
|
{ config, disko, ... }:
|
||||||
|
{
|
||||||
|
imports = [ disko.nixosModules.disko ];
|
||||||
|
|
||||||
|
disko.devices = {
|
||||||
|
disk = {
|
||||||
|
"${config.networking.hostName}" = {
|
||||||
|
type = "disk";
|
||||||
|
device = "/dev/nvme0n1";
|
||||||
|
content = {
|
||||||
|
type = "gpt";
|
||||||
|
partitions = {
|
||||||
|
boot = {
|
||||||
|
size = "1M";
|
||||||
|
type = "EF02";
|
||||||
|
};
|
||||||
|
ESP = {
|
||||||
|
size = "2G";
|
||||||
|
type = "EF00";
|
||||||
|
content = {
|
||||||
|
type = "filesystem";
|
||||||
|
format = "vfat";
|
||||||
|
mountpoint = "/boot";
|
||||||
|
mountOptions = [ "umask=0077" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
luks = {
|
||||||
|
size = "100%";
|
||||||
|
content = {
|
||||||
|
type = "luks";
|
||||||
|
name = "${config.networking.hostName}-disk";
|
||||||
|
settings.allowDiscards = true;
|
||||||
|
passwordFile = "/tmp/secret.key";
|
||||||
|
content = {
|
||||||
|
type = "lvm_pv";
|
||||||
|
vg = "${config.networking.hostName}";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
lvm_vg = {
|
||||||
|
"${config.networking.hostName}" = {
|
||||||
|
type = "lvm_vg";
|
||||||
|
lvs = {
|
||||||
|
root = {
|
||||||
|
size = "100%";
|
||||||
|
content = {
|
||||||
|
type = "btrfs";
|
||||||
|
extraArgs = [ "-f" ];
|
||||||
|
subvolumes = {
|
||||||
|
"/root" = {
|
||||||
|
mountpoint = "/";
|
||||||
|
mountOptions = [ "compress=zstd" "noatime" ];
|
||||||
|
};
|
||||||
|
"/prev" = {
|
||||||
|
mountpoint = "/prev";
|
||||||
|
mountOptions = [ "compress=zstd" "noatime" ];
|
||||||
|
};
|
||||||
|
"/nix" = {
|
||||||
|
mountpoint = "/nix";
|
||||||
|
mountOptions = [ "compress=zstd" "noatime" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
# Impermanence
|
||||||
|
"/persist" = {
|
||||||
|
mountpoint = "/persist";
|
||||||
|
mountOptions = [ "compress=zstd" "noatime" ];
|
||||||
|
};
|
||||||
|
"/persist/.snapshots" = { };
|
||||||
|
"/persist/home" = { };
|
||||||
|
"/persist/home/.snapshots" = { };
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
swap = {
|
||||||
|
size = "8G";
|
||||||
|
content = {
|
||||||
|
type = "swap";
|
||||||
|
discardPolicy = "both";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# Needed for impermanence
|
||||||
|
fileSystems."/persist".neededForBoot = true;
|
||||||
|
}
|
11
hosts/jupiter/filesystems/default.nix
Normal file
11
hosts/jupiter/filesystems/default.nix
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
{ config, ... }:
|
||||||
|
{
|
||||||
|
fileSystems."/mnt/Games" = {
|
||||||
|
device = "/dev/disk/by-uuid/a026c6c7-04a0-4f34-82bb-ea7e4f3e85c5";
|
||||||
|
fsType = "ext4";
|
||||||
|
options = [
|
||||||
|
"nofail"
|
||||||
|
"nosuid"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
20
hosts/jupiter/hardware/default.nix
Normal file
20
hosts/jupiter/hardware/default.nix
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
{ config, lib, modulesPath, ... }:
|
||||||
|
{
|
||||||
|
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
|
||||||
|
|
||||||
|
boot = {
|
||||||
|
initrd = {
|
||||||
|
availableKernelModules = [
|
||||||
|
"nvme"
|
||||||
|
"sd_mod"
|
||||||
|
"sdhci_pci"
|
||||||
|
"xhci_pci"
|
||||||
|
];
|
||||||
|
kernelModules = [ "dm-snapshot" ];
|
||||||
|
};
|
||||||
|
kernelModules = [ "kvm-amd" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||||
|
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||||
|
}
|
1
hosts/jupiter/id_ed25519.pub
Normal file
1
hosts/jupiter/id_ed25519.pub
Normal file
|
@ -0,0 +1 @@
|
||||||
|
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICHJ2Gy1Gaq96K85zOSfgWzGY0rIaUcqGS7Si5Nvzg+n
|
13
hosts/jupiter/network/default.nix
Normal file
13
hosts/jupiter/network/default.nix
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
{ ... }:
|
||||||
|
{
|
||||||
|
networking = {
|
||||||
|
interfaces."wlp1s0".ipv4.addresses = [{
|
||||||
|
address = "192.168.2.200";
|
||||||
|
prefixLength = 24;
|
||||||
|
}];
|
||||||
|
defaultGateway = {
|
||||||
|
address = "192.168.2.1";
|
||||||
|
interface = "wlp1s0";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
4
hosts/jupiter/users/default.nix
Normal file
4
hosts/jupiter/users/default.nix
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
{ ... }:
|
||||||
|
{
|
||||||
|
imports = [ ./main ];
|
||||||
|
}
|
8
hosts/jupiter/users/main/default.nix
Normal file
8
hosts/jupiter/users/main/default.nix
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
{ config, lib, ... }:
|
||||||
|
{
|
||||||
|
home-manager.users."${config.sysusers.main}".home = {
|
||||||
|
desktop.enable = true;
|
||||||
|
remote-desktop.enable = true;
|
||||||
|
stateVersion = lib.mkForce config.system.stateVersion;
|
||||||
|
};
|
||||||
|
}
|
Loading…
Add table
Add a link
Reference in a new issue