Massive changes to pianonix

This commit is contained in:
Julian Mutter 2024-11-24 08:33:31 +01:00
parent eb66634f44
commit b0a22014c3
4 changed files with 116 additions and 101 deletions

View File

@ -92,7 +92,10 @@
permittedInsecurePackages = [ "olm-3.2.16" ]; permittedInsecurePackages = [ "olm-3.2.16" ];
}; };
systems.modules.nixos = with inputs; [ nix-topology.nixosModules.default ]; systems.modules.nixos = with inputs; [
nix-topology.nixosModules.default
disko.nixosModules.disko
];
topology = topology =
with inputs; with inputs;

View File

@ -23,21 +23,26 @@
home.username = "julian"; home.username = "julian";
home.homeDirectory = "/home/julian"; home.homeDirectory = "/home/julian";
# DO NOT CHANGE!!!
home.stateVersion = "23.11";
modules = { modules = {
non-nixos.is-nixos = true;
shell = { shell = {
fish.enable = true; fish.enable = true;
}; };
yazi.enable = true;
topgrade.enable = true; topgrade.enable = true;
neovim.enable = true; neovim.enable = true;
alacritty.enable = true; wezterm.enable = true;
nix-helper.enable = true; nix-helper.enable = true;
};
home.packages = with pkgs; [ ]; desktop.enable = true;
fonts.enable = true;
};
# Let Home Manager install and manage itself. # Let Home Manager install and manage itself.
programs.home-manager.enable = true; programs.home-manager.enable = true;
# ======================== DO NOT CHANGE THIS ========================
home.stateVersion = "23.11";
# ======================== DO NOT CHANGE THIS ========================
} }

View File

@ -10,115 +10,73 @@
... ...
}: }:
{ {
imports = [ ./hardware-configuration.nix ]; imports = [ ./disko-config.nix ];
# Bootloader disko.devices.disk.main.device = "/dev/sda";
# Use this for simple nix boot menu, if no dual boot required
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
boot.loader.efi.efiSysMountPoint = "/boot/efi";
networking.networkmanager.enable = true; networking.networkmanager.enable = true;
networking.hostName = "pianonix"; # Define your hostname. networking.hostName = "pianonix"; # Define your hostname.
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
# Set your time zone. # Set your time zone.
time.timeZone = "Europe/Berlin"; time.timeZone = "Europe/Berlin";
# Set location used by redshift
location.provider = "manual";
location.latitude = 47.92;
location.longitude = 10.12;
modules = { modules = {
nix-settings.enable = true;
xserver-defaults.enable = true;
keymap.enable = true;
builder.enable = false;
system.boot-efi.enable = true;
sound.enable = true;
locales.enable = true; locales.enable = true;
pcmanfm.enable = true;
# i3.enable = true;
# gdm.enable = true;
redshift.enable = true;
wayland.enable = true;
# hyprland.enable = true;
# tuigreet.enable = true;
# virtualbox.enable = true;
users-julian.enable = true;
# syncthing.enable = true;
xdg-portal.enable = true;
polkit.enable = true;
keyring.enable = true;
}; };
nix.settings.auto-optimise-store = true; users.mutableUsers = false;
nix.settings.experimental-features = [ users.users.root.hashedPassword = "$y$j9T$mDQgl0GARH9fKg01akW1V0$2E5Z4TVra0RbY.tO2B6rW2YnVtJ6tbzZkJRvGWciSkB";
"nix-command" # no password
"flakes" users.users.julian.hashedPassword = "$y$j9T$khuv2ubKt48fkWS754jkL1$/YSqi4mWV9ccfnMAWCF0yumnwZrJ/ddg2TZTuZaDsi8";
];
# Setup binary caches # Enable the Desktop Environment.
nix.settings = { # services.xserver.displayManager.lightdm.enable = true;
substituters = [ services.displayManager.autoLogin = {
"https://nix-community.cachix.org" enable = true;
"https://cache.nixos.org/" user = "julian";
];
trusted-public-keys = [ "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" ];
}; };
# Enable the X11 windowing system.
services.xserver.enable = true;
hardware.opengl.enable = true;
nix.gc = {
automatic = true;
dates = "weekly";
options = "--delete-older-than 30d";
};
# Enable the XFCE Desktop Environment.
services.xserver.displayManager.lightdm.enable = true;
services.xserver.desktopManager = { services.xserver.desktopManager = {
xterm.enable = false; # xterm.enable = false;
xfce = { lxqt = {
enable = true; enable = true;
noDesktop = true;
enableXfwm = false;
}; };
}; };
xdg.portal.lxqt.enable = true;
# Configure keymap in X11 services.openssh = {
services.xserver = {
xkb.layout = "de";
xkb.variant = "";
};
# Configure console keymap
console.keyMap = "de";
# Enable sound with pipewire.
sound.enable = true;
hardware.pulseaudio.enable = false;
security.rtkit.enable = true;
services.pipewire = {
enable = true; enable = true;
alsa.enable = true; # require public key authentication for better security
alsa.support32Bit = true; settings.PasswordAuthentication = false;
pulse.enable = true; settings.KbdInteractiveAuthentication = false;
settings.PermitRootLogin = "yes";
}; };
users.users."root".openssh.authorizedKeys.keys = [
# Define a user account. Don't forget to set a password with passwd. "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDVk/m4ydcYXzHxTWeNw2MlwxKU+JirTVOeHsYR4wdTokwYyNWZ3/zPcU4+XekSRatwJW1LJYrZ1Y5IJkobzgnOvYVI7SXZ1Tbzb1kAcnChSt+Dp/pKdMPZ8yY3PTFZh+R5F3rWFA/YZqTRhh0vuxPIVbLl7zOPExWwYGn9crkZaYZvKHVvgE5660hXo9pxbUKsSs+DIy/AE7gfKiZLusY95nk9T/jZ7Vmhl0UsF0RiDsfxgE664/vEKe8b+82kKCDt5nJVe8THSrjaw4+NUhef6R8UoUO1/Pn4TKq3Gil3Z36wPEPdkw2lYzX+d1EFyaC3hZJedSUfdFliPOejIbNvvhPBBD1wAGxxyuJZB5KLwWN7/efwCgw45buLbVfUuwwug7K7GK84A3yzqClbZKKv8rYdO04UG64A+Taq2LeyxQIDjygTgGk/1j/0Neb1RO0FbjlbTeNMZ54P+u7BTEcikJCsbFeseWDtYzupQtLt96KMbcdRgHy0CTGqFHE+my8= julian@julian-aspi"
users.users.julian = { ];
isNormalUser = true;
description = "Julian";
uid = 1000;
group = "julian";
extraGroups = [
"networkmanager"
"wheel"
"docker"
];
packages = with pkgs; [ ]; # Using home-manager instead
};
users.groups.julian = {
gid = 1000;
};
programs.nix-ld.enable = true;
# List services that you want to enable:
services.openssh.enable = false;
services.syncthing.enable = true;
services.syncthing.user = "julian";
services.syncthing.group = "julian";
services.redshift.enable = true;
services.gnome.gnome-keyring.enable = true;
# Packages needed as root # Packages needed as root
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
@ -127,11 +85,19 @@
mc mc
]; ];
# This value determines the NixOS release from which the default ## Raspberry pi specific config
# settings for stateful data, like file locations and database versions # Prevent host becoming unreachable on wifi after some time (for raspberry pi)
# on your system were taken. Its perfectly fine and recommended to leave networking.networkmanager.wifi.powersave = false;
# this value at the release version of the first install of this system. # Enable audio devices on raspberry pi
# Before changing this value read the documentation for this option boot.kernelParams = [
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). "snd_bcm2835.enable_hdmi=1"
system.stateVersion = "22.11"; # Did you read the comment? "snd_bcm2835.enable_headphones=1"
];
boot.loader.raspberryPi.firmwareConfig = ''
dtparam=audio=on
'';
# ======================== DO NOT CHANGE THIS ========================
system.stateVersion = "22.11";
# ======================== DO NOT CHANGE THIS ========================
} }

View File

@ -0,0 +1,41 @@
# USAGE in your configuration.nix.
# Update devices to match your hardware.
# {
# imports = [ ./disko-config.nix ];
# disko.devices.disk.main.device = "/dev/sda";
# }
{
disko.devices = {
disk = {
main = {
type = "disk";
content = {
type = "gpt";
partitions = {
boot = {
size = "1M";
type = "EF02"; # for grub MBR
};
ESP = {
size = "1G";
type = "EF00";
content = {
type = "filesystem";
format = "vfat";
mountpoint = "/boot";
};
};
root = {
size = "100%";
content = {
type = "filesystem";
format = "ext4";
mountpoint = "/";
};
};
};
};
};
};
};
}