reorganize system stuff

This commit is contained in:
willemml 2023-02-09 11:56:57 -08:00
parent 285f2a61fd
commit 0e7342401f
Signed by: willemml
GPG key ID: C3DE5DF6198DACBD
9 changed files with 195 additions and 103 deletions

38
flake.lock generated
View file

@ -41,6 +41,27 @@
"type": "github"
}
},
"nixos-apple-silicon": {
"inputs": {
"nixpkgs": [
"nixpkgs"
],
"rust-overlay": "rust-overlay"
},
"locked": {
"lastModified": 1675215747,
"narHash": "sha256-O7vwx67l2PNnkNpPXnp7D0oBW+OfFetxdrlwUtaweY4=",
"owner": "tpwrules",
"repo": "nixos-apple-silicon",
"rev": "0086dd0e401f9dde826e6c170d312a87564aa6a4",
"type": "github"
},
"original": {
"owner": "tpwrules",
"repo": "nixos-apple-silicon",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1675454231,
@ -76,10 +97,27 @@
"inputs": {
"darwin": "darwin",
"home-manager": "home-manager",
"nixos-apple-silicon": "nixos-apple-silicon",
"nixpkgs": "nixpkgs",
"nur": "nur"
}
},
"rust-overlay": {
"flake": false,
"locked": {
"lastModified": 1675132198,
"narHash": "sha256-izOVjdIfdv0OzcfO9rXX0lfGkQn4tdJ0eNm3P3LYo/o=",
"owner": "oxalica",
"repo": "rust-overlay",
"rev": "48b1403150c3f5a9aeee8bc4c77c8926f29c6501",
"type": "github"
},
"original": {
"owner": "oxalica",
"repo": "rust-overlay",
"type": "github"
}
},
"utils": {
"locked": {
"lastModified": 1667395993,

View file

@ -7,23 +7,23 @@
darwin.inputs.nixpkgs.follows = "nixpkgs";
home-manager.url = "github:nix-community/home-manager";
home-manager.inputs.nixpkgs.follows = "nixpkgs";
nixos-apple-silicon.url = "github:tpwrules/nixos-apple-silicon";
nixos-apple-silicon.inputs.nixpkgs.follows = "nixpkgs";
nur.url = "github:nix-community/NUR";
};
outputs = inputs@{ self, nixpkgs, home-manager, darwin, nur, ... }:
outputs = inputs@{ self, nixpkgs, home-manager, darwin, nixos-apple-silicon, nur, ... }:
let
pkgsfunc = (system: import nixpkgs {
inherit system;
overlays = [
(import ./overlays)
];
config = {
allowUnfree = true;
packageOverrides = pkgs: {
nur = import nur { inherit pkgs; nurpkgs = pkgs; };
pkgsfunc = ({ system, overlays ? [ ] }: import nixpkgs
{
inherit system overlays;
config = {
allowUnfree = true;
packageOverrides = pkgs: {
nur = import nur { inherit pkgs; nurpkgs = pkgs; };
};
};
};
});
});
user-config = (pkgs: {
home-manager.useGlobalPkgs = true;
@ -46,28 +46,46 @@
system = "aarch64-darwin";
pkgs = pkgsfunc system;
pkgs = pkgsfunc { inherit system; overlays = [ (import ./overlays) ]; };
modules = [
./modules/nix.nix
./system/darwin.nix
./system/zeus.darwin.nix
./system/common.nix
home-manager.darwinModules.home-manager
(user-config pkgs)
];
};
};
nixosConfigurations.zeus-utm-vm = nixpkgs.lib.nixosSystem rec {
nixosConfigurations.zeus-utmvm = nixpkgs.lib.nixosSystem rec {
system = "aarch64-linux";
pkgs = pkgsfunc system;
pkgs = pkgsfunc { inherit system; };
specialArgs = { inherit inputs; };
modules = [
./modules/nix.nix
./system/utm-arm-vm.nix
home-manager.nixosModules.home-manager
(user-config pkgs)
./modules/nix.nix
./system/zeus.utmvm.nix
];
};
nixosConfigurations.zeus-asahi = nixpkgs.lib.nixosSystem rec {
system = "aarch64-linux";
pkgs = pkgsfunc { inherit system; overlays = [ nixos-apple-silicon.overlays ]; };
specialArgs = { inherit inputs; };
modules = [
nixos-apple-silicon.nixosModules.apple-silicon-support
home-manager.nixosModules.home-manager
(user-config pkgs)
./modules/nix.nix
./system/zeus.asahi.nix
];
};
};

28
system/nixos.common.nix Normal file
View file

@ -0,0 +1,28 @@
{ pkgs, ... }:
{
imports = [ ./common.nix ];
console.keyMap = "colemak";
i18n.defaultLocale = "en_US.UTF-8";
programs.command-not-found.enable = false;
programs.zsh.loginShellInit = ''
reexec() {
unset __NIX_OS_SET_ENVIRONMENT_DONE
unset __ETC_ZPROFILE_SOURCED __ETC_ZSHENV_SOURCED __ETC_ZSHRC_SOURCED
exec $SHELL -c 'echo >&2 "reexecuting shell: $SHELL" && exec $SHELL -l'
}
'';
services.udev.enable = true;
system.stateVersion = "22.11";
users.users.willem = {
isNormalUser = true;
extraGroups = [ "networkmanager" "wheel" ];
};
}

32
system/nixos.desktop.nix Normal file
View file

@ -0,0 +1,32 @@
{ pkgs, ... }:
{
environment.systemPackages = with pkgs; [
freecad
qbittorrent
vlc
];
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
};
services.printing.enable = true;
hardware.pulseaudio.enable = false;
security.rtkit.enable = true;
services.xserver = {
enable = true;
layout = "us";
libinput.mouse.naturalScrolling = true;
libinput.touchpad.naturalScrolling = true;
xkbVariant = "colemak";
};
sound.enable = true;
}

34
system/nixos.gnome.nix Normal file
View file

@ -0,0 +1,34 @@
{ pkgs, ... }:
{
imports = [ ./nixos.desktop.nix ];
environment.gnome.excludePackages = (with pkgs; [
gnome-photos
gnome-tour
]) ++ (with pkgs.gnome; [
cheese # webcam tool
gnome-music
gedit # text editor
epiphany # web browser
geary # email reader
evince # document viewer
gnome-characters
totem # video player
tali # poker game
iagno # go game
hitori # sudoku game
atomix # puzzle game
]);
environment.systemPackages = with pkgs; [
pinentry-gnome
];
services.xserver = {
displayManager.gdm.enable = true;
desktopManager.gnome.enable = true;
};
sound.enable = true;
}

View file

@ -1,80 +0,0 @@
{ pkgs, ... }:
{
imports = [ ./common.nix ];
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
boot.loader.efi.efiSysMountPoint = "/boot/efi";
console.keyMap = "colemak";
environment.gnome.excludePackages = (with pkgs; [
gnome-photos
gnome-tour
]) ++ (with pkgs.gnome; [
cheese # webcam tool
gnome-music
gedit # text editor
epiphany # web browser
geary # email reader
evince # document viewer
gnome-characters
totem # video player
tali # poker game
iagno # go game
hitori # sudoku game
atomix # puzzle game
]);
environment.systemPackages = with pkgs; [
freecad
pinentry-gnome
qbittorrent
vlc
];
i18n.defaultLocale = "en_US.UTF-8";
programs.command-not-found.enable = false;
programs.zsh.loginShellInit = ''
reexec() {
unset __NIX_OS_SET_ENVIRONMENT_DONE
unset __ETC_ZPROFILE_SOURCED __ETC_ZSHENV_SOURCED __ETC_ZSHRC_SOURCED
exec $SHELL -c 'echo >&2 "reexecuting shell: $SHELL" && exec $SHELL -l'
}
'';
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
};
services.printing.enable = true;
hardware.pulseaudio.enable = false;
security.rtkit.enable = true;
services.xserver = {
enable = true;
displayManager.gdm.enable = true;
desktopManager.gnome.enable = true;
layout = "us";
libinput.mouse.naturalScrolling = true;
libinput.touchpad.naturalScrolling = true;
xkbVariant = "colemak";
};
sound.enable = true;
system.stateVersion = "22.11";
users.users.willem = {
isNormalUser = true;
extraGroups = [ "networkmanager" "wheel" ];
};
}

15
system/zeus.asahi.nix Normal file
View file

@ -0,0 +1,15 @@
{ pkgs, ... }:
{
imports = [ ./nixos.common.nix ./nixos.gnome.nix ];
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = false;
fileSystems."/" = {
device = "/dev/disk/by-label/nixos";
fsType = "ext4";
};
networking.hostName = "zeus-asahi";
}

View file

@ -2,7 +2,7 @@
{
imports = [ ./common.nix ];
environment.etc."nix/user-sandbox.sb".text = ''
(version 1)
(allow default)

View file

@ -1,22 +1,29 @@
{ pkgs, ... }:
{
imports = [ ./nixos.nix ];
imports = [ ./nixos.common.nix ./nixos.gnome.nix ];
boot.extraModulePackages = [ ];
boot.initrd.availableKernelModules = [ "xhci_pci" "virtio_pci" "usbhid" "usb_storage" "sr_mod" ];
boot.initrd.kernelModules = [ ];
boot.extraModulePackages = [ ];
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
boot.loader.efi.efiSysMountPoint = "/boot/efi";
fileSystems."/" = {
device = "/dev/disk/by-uuid/10c8feb5-8fbb-490a-b144-dff00e82f3e9";
device = "/dev/disk/by-label/nixos";
fsType = "ext4";
};
fileSystems."/boot/efi" = {
device = "/dev/disk/by-uuid/3D0E-803C";
device = "/dev/disk/by-label/BOOT";
fsType = "vfat";
};
networking.hostName = "zeus-utmvm";
services.spice-vdagentd.enable = true;
swapDevices = [ ];