aboutsummaryrefslogtreecommitdiff
path: root/hosts/nyaan
diff options
context:
space:
mode:
authorIsabella Bastaja <isabella@sorre.xyz>2026-03-26 22:08:04 +0100
committerIsabella Bastaja <isabella@sorre.xyz>2026-03-26 23:16:31 +0100
commit8e7ea4e41ccd7a40b2cc0514a6cb37fd1e17ffa2 (patch)
tree48f2ca03e914830faabbd51a31662ee350f93bc8 /hosts/nyaan
parentd39df2cb4bc592d45d2312b48355480cfd484710 (diff)
add nyaan host
Diffstat (limited to 'hosts/nyaan')
-rw-r--r--hosts/nyaan/default.nix130
-rw-r--r--hosts/nyaan/hardware.nix33
-rw-r--r--hosts/nyaan/home.nix66
3 files changed, 229 insertions, 0 deletions
diff --git a/hosts/nyaan/default.nix b/hosts/nyaan/default.nix
new file mode 100644
index 0000000..d90e930
--- /dev/null
+++ b/hosts/nyaan/default.nix
@@ -0,0 +1,130 @@
+{
+ pkgs,
+ flakeRoot,
+ inputs,
+ config,
+ ...
+}:
+{
+ imports = [
+ # Include the results of the hardware scan.
+ ./hardware.nix
+
+ ./home.nix
+ (flakeRoot + /share/system/client-common.nix)
+ {
+ _module.args = {
+ inherit inputs;
+ };
+ }
+ ];
+
+ programs.fish.enable = true;
+ users.defaultUserShell = pkgs.fish;
+
+ boot.loader.systemd-boot.enable = true;
+ boot.loader.systemd-boot.graceful = true;
+ boot.loader.efi.canTouchEfiVariables = true;
+ networking.hostName = "nyaan";
+ time.timeZone = "Europe/Zagreb";
+
+ i18n.defaultLocale = "en_US.UTF-8";
+ i18n.extraLocaleSettings = {
+ LC_ADDRESS = "hr_HR.UTF-8";
+ LC_IDENTIFICATION = "hr_HR.UTF-8";
+ LC_MEASUREMENT = "hr_HR.UTF-8";
+ LC_MONETARY = "hr_HR.UTF-8";
+ LC_NAME = "hr_HR.UTF-8";
+ LC_NUMERIC = "hr_HR.UTF-8";
+ LC_PAPER = "hr_HR.UTF-8";
+ LC_TELEPHONE = "hr_HR.UTF-8";
+ LC_TIME = "hr_HR.UTF-8";
+ };
+
+ # Enable the KDE Plasma Desktop Environment.
+ services.displayManager = {
+ defaultSession = "niri";
+ sddm = {
+ enable = true;
+ wayland.enable = true;
+ theme = "${pkgs.sddm-astronaut}/share/sddm/themes/sddm-astronaut-theme";
+ extraPackages = [
+ # Fix QtMultimedia missing issue
+ # See: https://github.com/NixOS/nixpkgs/issues/390251#issuecomment-2737360643
+ pkgs.sddm-astronaut
+ ];
+ };
+ };
+ services.desktopManager.plasma6.enable = true;
+
+ # raised from default 1024 because niri test was failing
+ # systemd.extraConfig = "DefaultLimitNOFILE=4096";
+ programs.niri = {
+ enable = true;
+ package = pkgs.niri-stable;
+ };
+
+ # Configure keymap in X11
+ services.xserver.xkb = {
+ layout = "us";
+ variant = "";
+ };
+
+ # Enable CUPS to print documents.
+ # services.printing.enable = true;
+
+ # Enable sound with pipewire.
+ # services.pulseaudio.enable = false;
+ # security.rtkit.enable = true;
+ services.pipewire = {
+ enable = true;
+ alsa.enable = true;
+ alsa.support32Bit = true;
+ pulse.enable = true;
+ # If you want to use JACK applications, uncomment this
+ #jack.enable = true;
+
+ # use the example session manager (no others are packaged yet so this is enabled by default,
+ # no need to redefine it in your config for now)
+ #media-session.enable = true;
+ };
+
+ networking.useNetworkd = true;
+ networking.networkmanager = {
+ enable = true;
+ };
+
+ users.users = {
+ isabella = {
+ isNormalUser = true;
+ description = "Isabella Bastaja";
+ extraGroups = [
+ "wheel"
+ "video"
+ "network"
+ "podman"
+ ];
+ uid = 1000;
+ };
+ };
+ nix.settings.trusted-users = [ "isabella" ];
+
+ # This option defines the first version of NixOS you have installed on this particular machine,
+ # and is used to maintain compatibility with application data (e.g. databases) created on older NixOS versions.
+ #
+ # Most users should NEVER change this value after the initial install, for any reason,
+ # even if you've upgraded your system to a new NixOS release.
+ #
+ # This value does NOT affect the Nixpkgs version your packages and OS are pulled from,
+ # so changing it will NOT upgrade your system - see https://nixos.org/manual/nixos/stable/#sec-upgrading for how
+ # to actually do that.
+ #
+ # This value being lower than the current NixOS release does NOT mean your system is
+ # out of date, out of support, or vulnerable.
+ #
+ # Do NOT change this value unless you have manually inspected all the changes it would make to your configuration,
+ # and migrated your data accordingly.
+ #
+ # For more information, see `man configuration.nix` or https://nixos.org/manual/nixos/stable/options#opt-system.stateVersion .
+ system.stateVersion = "25.11"; # Did you read the comment?
+}
diff --git a/hosts/nyaan/hardware.nix b/hosts/nyaan/hardware.nix
new file mode 100644
index 0000000..d3a1025
--- /dev/null
+++ b/hosts/nyaan/hardware.nix
@@ -0,0 +1,33 @@
+# Do not modify this file! It was generated by ‘nixos-generate-config’
+# and may be overwritten by future invocations. Please make changes
+# to /etc/nixos/configuration.nix instead.
+{ config, lib, pkgs, modulesPath, ... }:
+
+{
+ imports =
+ [ (modulesPath + "/installer/scan/not-detected.nix")
+ ];
+
+ boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "thunderbolt" "usb_storage" "sd_mod" ];
+ boot.initrd.kernelModules = [ ];
+ boot.kernelModules = [ "kvm-amd" ];
+ boot.extraModulePackages = [ ];
+
+ fileSystems."/" =
+ { device = "/dev/disk/by-uuid/20fc22cd-161a-4537-b432-adf6c60c9f1c";
+ fsType = "btrfs";
+ };
+
+ fileSystems."/boot" =
+ { device = "/dev/disk/by-uuid/B057-BE14";
+ fsType = "vfat";
+ options = [ "fmask=0077" "dmask=0077" ];
+ };
+
+ swapDevices =
+ [ { device = "/dev/disk/by-uuid/253a1a87-9919-4262-8ae9-63ad63b00648"; }
+ ];
+
+ nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
+ hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
+}
diff --git a/hosts/nyaan/home.nix b/hosts/nyaan/home.nix
new file mode 100644
index 0000000..f982160
--- /dev/null
+++ b/hosts/nyaan/home.nix
@@ -0,0 +1,66 @@
+{
+ flakeRoot,
+ inputs,
+ pkgs,
+ config,
+ ...
+}:
+ {
+ home-manager = {
+ useGlobalPkgs = true;
+ useUserPackages = true;
+ sharedModules = [ { programs.fish.enable = true; } ];
+ extraSpecialArgs = {
+ inherit inputs;
+ };
+ };
+
+ home-manager.users.isabella = {
+ imports = [
+ (flakeRoot + /share/cfg)
+ (flakeRoot + /share/home/minimal.nix)
+ (flakeRoot + /share/home/dev-stuff.nix)
+ (flakeRoot + /share/home/shell.nix)
+ (flakeRoot + /share/home/gui-tools.nix)
+ # (flakeRoot + /share/home/gaming.nix)
+ (flakeRoot + /share/home/niri.nix)
+ ];
+
+ programs.tofi.enable = true;
+
+ xdg = {
+ systemDirs.data =
+ let
+ gds = pkgs.gsettings-desktop-schemas;
+ gtk3 = pkgs.gtk3;
+ in
+ [
+ "${gds}/share/gsettings-schemas/${gds.name}"
+ "${gtk3}/share/gsettings-schemas/${gtk3.name}"
+ ];
+ userDirs =
+ let
+ home = config.home-manager.users.isabella.home.homeDirectory;
+ annex = "${home}/Annex";
+ in
+ {
+ enable = true;
+ createDirectories = true;
+
+ # Disable dirs that I don't use
+ desktop = null;
+ publicShare = null;
+ templates = null;
+ pictures = "${annex}/Pictures";
+ music = "${annex}/Music";
+ documents = "${annex}/Documents";
+ download = "${home}/Downloads";
+ };
+ portal.xdgOpenUsePortal = true;
+ };
+
+ home.stateVersion = "25.11";
+ };
+
+ home-manager.users.root.home.stateVersion = "25.11";
+}