Add Jovian back again to try it out

This commit is contained in:
Bun 2025-04-23 14:23:29 -04:00
parent 3d3c89c326
commit 5c8c68331d
11 changed files with 256 additions and 19 deletions

72
flake.lock generated
View file

@ -2,7 +2,7 @@
"nodes": {
"avf": {
"locked": {
"lastModified": 1745286281,
"lastModified": 1745372740,
"narHash": "sha256-pkbIduXLW85yB5wV6j72Gpxz5JJhuJBZxhXWsJ4BMd8=",
"type": "tarball",
"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": {
"locked": {
"lastModified": 1,
"narHash": "sha256-56qCMHw9q2hkyh6qlbrTKTN102OfZPkXVI4YGLa5Wgc=",
"narHash": "sha256-iA5CEp0rAhYInuOhyoIt5kvp+2fqNtWjd5aezFVlCxs=",
"type": "tarball",
"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": {
"lastModified": 1745224732,
"narHash": "sha256-0OWgbEKhpMLpk3WQi3ugOwxWW4Y6JVpKiQ+o0nuNzus=",
"lastModified": 1745369821,
"narHash": "sha256-mi6cAjuBztm9gFfpiVo6mAn81cCID6nmDXh5Kmyjwyc=",
"owner": "nix-community",
"repo": "disko",
"rev": "1770bf1ae5da05564f86b969ef21c7228cc1a70b",
"rev": "c5140c6079ff690e85eac0b86e254de16a79a4b7",
"type": "github"
},
"original": {
@ -282,6 +282,27 @@
"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": {
"inputs": {
"crane": "crane",
@ -340,11 +361,11 @@
"nixpkgs": "nixpkgs_2"
},
"locked": {
"lastModified": 1745287043,
"narHash": "sha256-y8DH++s3Zt9LDCRDp7+tehFaeLs4WXRxnR3lFC5qbuY=",
"lastModified": 1745373492,
"narHash": "sha256-gZG/Lpqo4vcey27lyXtAt1jy74cTJ0G+mwCT7dBxapA=",
"owner": "Infinidoge",
"repo": "nix-minecraft",
"rev": "9c4b4690ea3a1f7233e7f9d3bdfa88e464f77d57",
"rev": "41913d868adce57fa88f678e10c3965a2560e541",
"type": "github"
},
"original": {
@ -353,6 +374,28 @@
"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": {
"locked": {
"lastModified": 1733808091,
@ -424,11 +467,11 @@
"treefmt-nix": "treefmt-nix"
},
"locked": {
"lastModified": 1745353885,
"narHash": "sha256-pPO6GlommUHHbjIilUCBeZdHI4SUyGfTJFBrT6rKhfk=",
"lastModified": 1745430461,
"narHash": "sha256-hQs026p3fxkwVxRSF0GIGZ51CiZugNNLyt42IwCh+7g=",
"owner": "nix-community",
"repo": "NUR",
"rev": "8bb84605f2d228a466a10b97fa8aa2dc2995cd7d",
"rev": "3b16e74eae922df0a2ad3a4da3d1779fcd426c3d",
"type": "github"
},
"original": {
@ -472,6 +515,7 @@
"disko": "disko",
"hm": "hm",
"impermanence": "impermanence",
"jovian": "jovian",
"lanzaboote": "lanzaboote",
"mailserver": "mailserver",
"minecraft": "minecraft",
@ -507,11 +551,11 @@
},
"stable": {
"locked": {
"lastModified": 1744440957,
"narHash": "sha256-FHlSkNqFmPxPJvy+6fNLaNeWnF1lZSgqVCl/eWaJRc4=",
"lastModified": 1745279238,
"narHash": "sha256-AQ7M9wTa/Pa/kK5pcGTgX/DGqMHyzsyINfN7ktsI7Fo=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "26d499fc9f1d567283d5d56fcf367edd815dba1d",
"rev": "9684b53175fc6c09581e94cc85f05ab77464c7e3",
"type": "github"
},
"original": {

View file

@ -17,6 +17,15 @@
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
mailserver = {
url = "gitlab:simple-nixos-mailserver/nixos-mailserver/nixos-24.11";
@ -25,10 +34,6 @@
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
hm = {
url = "github:nix-community/home-manager/release-24.11";
@ -53,6 +58,7 @@
mailserver,
minecraft,
jovian,
avf,
avf-channel,
@ -77,7 +83,8 @@
tower = mkNix [ ./hosts/tower ] stable; # Main Desktop
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
droid = mkNix [ ./hosts/droid ] avf-channel; # Android Virtualization Framework

View 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
View 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;
}
}

View 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;
}

View file

@ -0,0 +1,11 @@
{ config, ... }:
{
fileSystems."/mnt/Games" = {
device = "/dev/disk/by-uuid/a026c6c7-04a0-4f34-82bb-ea7e4f3e85c5";
fsType = "ext4";
options = [
"nofail"
"nosuid"
];
};
}

View 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;
}

View file

@ -0,0 +1 @@
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICHJ2Gy1Gaq96K85zOSfgWzGY0rIaUcqGS7Si5Nvzg+n

View 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";
};
};
}

View file

@ -0,0 +1,4 @@
{ ... }:
{
imports = [ ./main ];
}

View 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;
};
}