massive structural changes
This commit is contained in:
parent
5f7200bf6b
commit
02aba5b7c1
10 changed files with 532 additions and 561 deletions
101
flake.nix
101
flake.nix
|
|
@ -104,14 +104,64 @@
|
|||
modules =
|
||||
[
|
||||
{
|
||||
nixpkgs.config = pkgConfig;
|
||||
nixpkgs.overlays = [
|
||||
nixpkgs = {
|
||||
config = pkgConfig;
|
||||
overlays = [
|
||||
catppuccin-palette.overlays.default
|
||||
niri.overlays.niri
|
||||
noctalia.overlays.default
|
||||
nur.overlays.default
|
||||
(import ./packages/overlay.nix)
|
||||
];
|
||||
};
|
||||
nix = {
|
||||
settings = {
|
||||
experimental-features = [
|
||||
"nix-command"
|
||||
"flakes"
|
||||
];
|
||||
|
||||
substituters = [
|
||||
"https://attic.xuyh0120.win/lantian"
|
||||
"https://cache.garnix.io"
|
||||
];
|
||||
|
||||
trusted-public-keys = [
|
||||
"lantian:EeAUQ+W+6r7EtwnmYjeVwx5kOGEBpjlBfPlzGlTNvHc="
|
||||
"cache.garnix.io:CTFPyKSLcx5RMJKfLo5EEPUObbA78b0YQ2DTCJXqr9g="
|
||||
];
|
||||
|
||||
trusted-users = [
|
||||
"root"
|
||||
"sckova"
|
||||
];
|
||||
|
||||
# Increase file descriptor limit for builds
|
||||
sandbox = "relaxed";
|
||||
extra-sandbox-paths = [];
|
||||
build-users-group = "nixbld";
|
||||
};
|
||||
|
||||
gc = {
|
||||
automatic = true;
|
||||
dates = "weekly";
|
||||
options = "--delete-older-than 30d";
|
||||
};
|
||||
};
|
||||
|
||||
users.users.sckova = {
|
||||
isNormalUser = true;
|
||||
description = "Sean Kovacs";
|
||||
extraGroups = [
|
||||
"wheel"
|
||||
"networkmanager"
|
||||
"podman"
|
||||
];
|
||||
hashedPassword = "$6$bvwRUFaJNMpH8rm3$FGDWFN6tBScJ/2DynAjnlZE8JRfyADN78d6c4GawxpAjyNLNE/AjQzMA09tLRqpKX7WnN5PIUZLAm2bT9/RbG0";
|
||||
openssh.authorizedKeys.keys = [
|
||||
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCn/eXMq04vcXNqGVzlZOw2C2dQYBqzWsoigdFW09XqC2WPaGljbAIayzaD7Q1tIlPGGy10+nipAXAk1CHAnrQ2KSg4v/SwFphF48V3joeQmideC4vo0EIQEQibbMtj3oFezqRcRZINl/1hr4t0myZ3zkoTjh3HCkqJEMGUdArDMEVPA5mwcKSLsyshW9LMG/3C9YKKPU1/lVsoeDkj8AVZA0srhkApuRKF0IVu8KoPd6ldvSWgpQ1iuQ+MEMSeOUJytieBkzeY9zEVePaQ86oIMDUzqq8OTN37RyShiJKPskKyj12rJI2eFtI/viGaj8P6/yvKqMp3F4kAsPAuvMLLAIYCNa+139rDpkkIKB6lVtgq0jnJGRywaYXGIRyExNcVAr8I9wrNnNN2M4whVeYBxfLMzKZ+VvfK39AaGvnzPuFDLqUC87sN4c/1KZQo+TCtlaxcYvqowWylw5JHUt8uwFcO/dUebQxxAv8EdyPZGJ/54y19PsTbu9KyxSc2gIU= sckova"
|
||||
];
|
||||
};
|
||||
}
|
||||
./system
|
||||
./system/widevine
|
||||
|
|
@ -120,12 +170,14 @@
|
|||
./system/hosts/${hostname}
|
||||
./hardware/${hostname}
|
||||
catppuccin.nixosModules.catppuccin
|
||||
niri.nixosModules.niri
|
||||
home-manager.nixosModules.home-manager
|
||||
noctalia.nixosModules.default
|
||||
{
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
home-manager.users.sckova = {
|
||||
home-manager = {
|
||||
useGlobalPkgs = true;
|
||||
useUserPackages = true;
|
||||
users.sckova = {
|
||||
imports = [
|
||||
./home
|
||||
./home/games/minecraft
|
||||
|
|
@ -146,20 +198,21 @@
|
|||
./home/hosts/${hostname}
|
||||
];
|
||||
};
|
||||
home-manager.sharedModules = [
|
||||
sharedModules = [
|
||||
catppuccin.homeModules.catppuccin
|
||||
plasma-manager.homeModules.plasma-manager
|
||||
niri.homeModules.niri
|
||||
noctalia.homeModules.default
|
||||
spicetify-nix.homeManagerModules.default
|
||||
nixvim.homeModules.nixvim
|
||||
];
|
||||
home-manager.extraSpecialArgs = {
|
||||
extraSpecialArgs = {
|
||||
inherit spicetify-nix;
|
||||
pkgs-unstable = import nixpkgs-unstable {
|
||||
inherit system;
|
||||
config = pkgConfig;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
]
|
||||
++ extraModules;
|
||||
|
|
@ -175,6 +228,10 @@
|
|||
inherit system;
|
||||
config = pkgConfig;
|
||||
};
|
||||
pkgs-unstable = import nixpkgs-unstable {
|
||||
inherit system;
|
||||
config = pkgConfig;
|
||||
};
|
||||
home.username = user;
|
||||
home.homeDirectory = "/home/${user}";
|
||||
modules = [
|
||||
|
|
@ -187,17 +244,9 @@
|
|||
noctalia.homeModules.noctalia
|
||||
nixvim.homeModules.nixvim
|
||||
];
|
||||
extraSpecialArgs = {
|
||||
pkgs-unstable = import nixpkgs-unstable {
|
||||
inherit system;
|
||||
config = pkgConfig;
|
||||
};
|
||||
};
|
||||
};
|
||||
in
|
||||
{
|
||||
nixosConfigurations =
|
||||
{
|
||||
in {
|
||||
nixosConfigurations = {
|
||||
peach = mkNixosSystem {
|
||||
hostname = "peach";
|
||||
system = "aarch64-linux";
|
||||
|
|
@ -207,13 +256,13 @@
|
|||
];
|
||||
};
|
||||
|
||||
alien = mkNixosSystem {
|
||||
alien =
|
||||
mkNixosSystem {
|
||||
hostname = "alien";
|
||||
system = "x86_64-linux";
|
||||
extraSpecialArgs = {
|
||||
inherit nix-cachyos-kernel;
|
||||
};
|
||||
};
|
||||
extraModules = [
|
||||
{nixpkgs.overlays = [nix-cachyos-kernel.overlays.default];}
|
||||
];
|
||||
}
|
||||
// nixpkgs.lib.genAttrs supportedSystems (
|
||||
system:
|
||||
|
|
@ -222,8 +271,10 @@
|
|||
inherit system;
|
||||
}
|
||||
);
|
||||
};
|
||||
|
||||
homeConfigurations = {
|
||||
homeConfigurations =
|
||||
{
|
||||
peach = mkHomeConfig {
|
||||
user = "sckova";
|
||||
hostname = "peach";
|
||||
|
|
@ -234,7 +285,6 @@
|
|||
hostname = "alien";
|
||||
system = "x86_64-linux";
|
||||
};
|
||||
};
|
||||
}
|
||||
// nixpkgs.lib.genAttrs supportedSystems (
|
||||
system:
|
||||
|
|
@ -244,4 +294,5 @@
|
|||
inherit system;
|
||||
}
|
||||
);
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@
|
|||
pkgs.adwsteamgtk
|
||||
|
||||
pkgs-unstable.ckan
|
||||
pkgs.daggerfall-unity
|
||||
];
|
||||
|
||||
programs.noctalia-shell.settings.brightness = {
|
||||
|
|
|
|||
|
|
@ -3,11 +3,13 @@
|
|||
pkgs,
|
||||
...
|
||||
}: {
|
||||
programs.niri.package = pkgs.niri-unstable.overrideAttrs (old: {
|
||||
# https://github.com/sodiboo/niri-flake/blob/main/docs.md
|
||||
programs.niri = {
|
||||
package = pkgs.niri-unstable.overrideAttrs (old: {
|
||||
doCheck = false;
|
||||
});
|
||||
# https://github.com/sodiboo/niri-flake/blob/main/docs.md
|
||||
programs.niri.settings = {
|
||||
|
||||
settings = {
|
||||
screenshot-path = "~/Pictures/Screenshots/Screenshot from %Y-%m-%d %H-%M-%S.png";
|
||||
hotkey-overlay.skip-at-startup = true;
|
||||
prefer-no-csd = true;
|
||||
|
|
@ -57,7 +59,7 @@
|
|||
};
|
||||
cursor = {
|
||||
hide-when-typing = true;
|
||||
hide-after-inactive-ms = 2000;
|
||||
hide-after-inactive-ms = 5000;
|
||||
size = config.userOptions.cursor.size;
|
||||
theme = config.userOptions.cursor.name;
|
||||
};
|
||||
|
|
@ -408,4 +410,5 @@
|
|||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,48 +8,9 @@
|
|||
inputs,
|
||||
...
|
||||
}: {
|
||||
nix.settings.experimental-features = [
|
||||
"nix-command"
|
||||
"flakes"
|
||||
];
|
||||
|
||||
nix.settings.trusted-users = [
|
||||
"root"
|
||||
"sckova"
|
||||
];
|
||||
|
||||
nix.settings = {
|
||||
# Increase file descriptor limit for builds
|
||||
sandbox = "relaxed";
|
||||
extra-sandbox-paths = [];
|
||||
build-users-group = "nixbld";
|
||||
};
|
||||
|
||||
security.pam.loginLimits = [
|
||||
{
|
||||
domain = "*";
|
||||
type = "soft";
|
||||
item = "nofile";
|
||||
value = "65536";
|
||||
}
|
||||
{
|
||||
domain = "*";
|
||||
type = "hard";
|
||||
item = "nofile";
|
||||
value = "65536";
|
||||
}
|
||||
];
|
||||
|
||||
nix.gc = {
|
||||
automatic = true;
|
||||
dates = "weekly";
|
||||
options = "--delete-older-than 30d";
|
||||
};
|
||||
|
||||
environment.sessionVariables = rec {
|
||||
environment.sessionVariables = {
|
||||
# this makes electron apps work per the wiki
|
||||
NIXOS_OZONE_WL = "1";
|
||||
EDITOR = "nvim";
|
||||
TERMINAL = "kitty";
|
||||
};
|
||||
|
||||
boot = {
|
||||
|
|
@ -120,11 +81,16 @@
|
|||
|
||||
services = {
|
||||
desktopManager.plasma6.enable = true;
|
||||
displayManager.sddm = {
|
||||
displayManager = {
|
||||
sddm = {
|
||||
enable = true;
|
||||
wayland.enable = true;
|
||||
enableHidpi = true;
|
||||
};
|
||||
|
||||
defaultSession = "niri";
|
||||
};
|
||||
|
||||
libinput.enable = true;
|
||||
printing.enable = true;
|
||||
pipewire = {
|
||||
|
|
@ -136,29 +102,6 @@
|
|||
udisks2.enable = true;
|
||||
};
|
||||
|
||||
virtualisation = {
|
||||
containers.enable = true;
|
||||
podman = {
|
||||
enable = true;
|
||||
dockerCompat = true;
|
||||
defaultNetwork.settings.dns_enabled = true; # Required for containers under podman-compose to be able to talk to each other.
|
||||
};
|
||||
};
|
||||
|
||||
systemd.tmpfiles.rules = ["L+ /var/lib/qemu/firmware - - - - ${pkgs.qemu}/share/qemu/firmware"];
|
||||
|
||||
users.users.sckova = {
|
||||
isNormalUser = true;
|
||||
description = "Sean Kovacs";
|
||||
extraGroups = [
|
||||
"wheel"
|
||||
"networkmanager"
|
||||
"podman"
|
||||
];
|
||||
packages = with pkgs; [];
|
||||
hashedPassword = "$6$bvwRUFaJNMpH8rm3$FGDWFN6tBScJ/2DynAjnlZE8JRfyADN78d6c4GawxpAjyNLNE/AjQzMA09tLRqpKX7WnN5PIUZLAm2bT9/RbG0";
|
||||
};
|
||||
|
||||
environment = {
|
||||
systemPackages = with pkgs; [
|
||||
git
|
||||
|
|
@ -185,9 +128,6 @@
|
|||
};
|
||||
|
||||
services.openssh.enable = true;
|
||||
users.users."sckova".openssh.authorizedKeys.keys = [
|
||||
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCn/eXMq04vcXNqGVzlZOw2C2dQYBqzWsoigdFW09XqC2WPaGljbAIayzaD7Q1tIlPGGy10+nipAXAk1CHAnrQ2KSg4v/SwFphF48V3joeQmideC4vo0EIQEQibbMtj3oFezqRcRZINl/1hr4t0myZ3zkoTjh3HCkqJEMGUdArDMEVPA5mwcKSLsyshW9LMG/3C9YKKPU1/lVsoeDkj8AVZA0srhkApuRKF0IVu8KoPd6ldvSWgpQ1iuQ+MEMSeOUJytieBkzeY9zEVePaQ86oIMDUzqq8OTN37RyShiJKPskKyj12rJI2eFtI/viGaj8P6/yvKqMp3F4kAsPAuvMLLAIYCNa+139rDpkkIKB6lVtgq0jnJGRywaYXGIRyExNcVAr8I9wrNnNN2M4whVeYBxfLMzKZ+VvfK39AaGvnzPuFDLqUC87sN4c/1KZQo+TCtlaxcYvqowWylw5JHUt8uwFcO/dUebQxxAv8EdyPZGJ/54y19PsTbu9KyxSc2gIU= sckova"
|
||||
];
|
||||
|
||||
# This value determines the NixOS release from which the default
|
||||
# settings for stateful data, like file locations and database versions
|
||||
|
|
|
|||
|
|
@ -1,8 +1,6 @@
|
|||
{
|
||||
config,
|
||||
pkgs,
|
||||
catppuccin,
|
||||
nix-cachyos-kernel,
|
||||
...
|
||||
}: {
|
||||
networking.hostName = "alien";
|
||||
|
|
@ -25,36 +23,14 @@
|
|||
'';
|
||||
hardware.i2c.enable = true;
|
||||
|
||||
boot.binfmt.emulatedSystems = [
|
||||
"aarch64-linux"
|
||||
"riscv64-linux"
|
||||
];
|
||||
|
||||
catppuccin.accent = "blue";
|
||||
|
||||
home-manager.users.sckova = {
|
||||
imports = [catppuccin.homeModules.catppuccin];
|
||||
};
|
||||
|
||||
boot.loader.systemd-boot.consoleMode = "max";
|
||||
# boot.kernelPackages = pkgs.linuxPackages;
|
||||
|
||||
# let's use the CachyOS kernel instead!
|
||||
nixpkgs.overlays = [nix-cachyos-kernel.overlays.default];
|
||||
nix.settings.substituters = [
|
||||
"https://attic.xuyh0120.win/lantian"
|
||||
"https://cache.garnix.io"
|
||||
];
|
||||
nix.settings.trusted-public-keys = [
|
||||
"lantian:EeAUQ+W+6r7EtwnmYjeVwx5kOGEBpjlBfPlzGlTNvHc="
|
||||
"cache.garnix.io:CTFPyKSLcx5RMJKfLo5EEPUObbA78b0YQ2DTCJXqr9g="
|
||||
];
|
||||
boot.kernelPackages = pkgs.cachyosKernels.linuxPackages-cachyos-lts;
|
||||
|
||||
# enable hyper-v for guests
|
||||
virtualisation.hypervGuest.enable = true;
|
||||
boot.blacklistedKernelModules = ["hyperv_fb"];
|
||||
|
||||
programs = {
|
||||
gamescope = {
|
||||
enable = true;
|
||||
|
|
@ -77,7 +53,6 @@
|
|||
enable = false;
|
||||
user = "sckova";
|
||||
};
|
||||
defaultSession = "niri";
|
||||
};
|
||||
|
||||
environment = {
|
||||
|
|
@ -102,4 +77,27 @@
|
|||
capSysAdmin = true;
|
||||
openFirewall = true;
|
||||
};
|
||||
|
||||
# virtualization settings
|
||||
|
||||
virtualisation = {
|
||||
containers.enable = true;
|
||||
podman = {
|
||||
enable = true;
|
||||
dockerCompat = true;
|
||||
defaultNetwork.settings.dns_enabled = true; # Required for containers under podman-compose to be able to talk to each other.
|
||||
};
|
||||
};
|
||||
|
||||
# enable hyper-v for guests
|
||||
virtualisation.hypervGuest.enable = true;
|
||||
boot.blacklistedKernelModules = ["hyperv_fb"];
|
||||
|
||||
boot.binfmt.emulatedSystems = [
|
||||
"aarch64-linux"
|
||||
"riscv64-linux"
|
||||
];
|
||||
|
||||
# i don't even remember what this does or why i added it
|
||||
systemd.tmpfiles.rules = ["L+ /var/lib/qemu/firmware - - - - ${pkgs.qemu}/share/qemu/firmware"];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,25 +1,10 @@
|
|||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
catppuccin,
|
||||
...
|
||||
}: {
|
||||
{pkgs, ...}: {
|
||||
networking.hostName = "peach";
|
||||
|
||||
boot.binfmt.emulatedSystems = [
|
||||
"x86_64-linux"
|
||||
"riscv64-linux"
|
||||
];
|
||||
|
||||
boot.kernelParams = ["apple_dcp.show_notch=1"];
|
||||
|
||||
catppuccin.accent = "peach";
|
||||
|
||||
home-manager.users.sckova = {
|
||||
imports = [catppuccin.homeModules.catppuccin];
|
||||
};
|
||||
|
||||
hardware.asahi = {
|
||||
enable = true;
|
||||
setupAsahiSound = true;
|
||||
|
|
@ -37,7 +22,7 @@
|
|||
swapDevices = [
|
||||
{
|
||||
device = "/swapfile";
|
||||
size = 16000; # 16GB
|
||||
size = 8000; # 8GB
|
||||
}
|
||||
];
|
||||
|
||||
|
|
|
|||
|
|
@ -1,18 +1,6 @@
|
|||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
catppuccin,
|
||||
...
|
||||
}: {
|
||||
{catppuccin, ...}: {
|
||||
networking.hostName = "vm";
|
||||
|
||||
# Enable emulation for architectures we're not currently running
|
||||
boot.binfmt.emulatedSystems =
|
||||
lib.optional (pkgs.stdenv.hostPlatform.system != "x86_64-linux") "x86_64-linux"
|
||||
++ lib.optional (pkgs.stdenv.hostPlatform.system != "aarch64-linux") "aarch64-linux"
|
||||
++ lib.optional (pkgs.stdenv.hostPlatform.system != "riscv64-linux") "riscv64-linux";
|
||||
|
||||
catppuccin.accent = "green";
|
||||
|
||||
home-manager.users.sckova = {
|
||||
|
|
|
|||
|
|
@ -1,4 +1,6 @@
|
|||
{pkgs, ...}: {
|
||||
# This following block taken from the wiki:
|
||||
# https://nixos.wiki/wiki/Fish#Setting_fish_as_your_shell
|
||||
programs.bash = {
|
||||
interactiveShellInit = ''
|
||||
if [[ $(${pkgs.procps}/bin/ps --no-header --pid=$PPID --format=comm) != "fish" && -z ''${BASH_EXECUTION_STRING} ]]
|
||||
|
|
|
|||
|
|
@ -1,6 +1,8 @@
|
|||
# The goal of this configuration is to make it so you can write systemd units that
|
||||
# can wait until tailscale is up and connected, by putting After=tailscaled.service
|
||||
# in their unit file.
|
||||
# https://github.com/tailscale/tailscale/issues/11504#issuecomment-2113331262
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
|
|
|
|||
|
|
@ -1,7 +1,8 @@
|
|||
# https://github.com/nix-community/nixos-apple-silicon/issues/145
|
||||
# This should work with both x86_64 and aarch64. (hopefully)
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
nixpkgs.overlays = lib.mkIf (config.nixpkgs.hostPlatform.isLinux) [
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue