From 3d6c78f0c9f51ef3553e0c2e90fc1a130c908e5e Mon Sep 17 00:00:00 2001 From: Noa Aarts Date: Sat, 29 Mar 2025 20:34:24 +0100 Subject: [PATCH] add chome module --- flake.nix | 1 + hosts/zelden/configuration.nix | 45 ++++++++++++++- hosts/zelden/root.nix | 101 +++++++++++++++++++++++++++++++++ 3 files changed, 146 insertions(+), 1 deletion(-) create mode 100644 hosts/zelden/root.nix diff --git a/flake.nix b/flake.nix index 6b3f0e0..ab88a75 100644 --- a/flake.nix +++ b/flake.nix @@ -148,6 +148,7 @@ }; nixosModules = { automapaper = ./modules/automapaper; + chome = ./common/home; }; packages = import ./packages { inherit nixpkgs; }; }; diff --git a/hosts/zelden/configuration.nix b/hosts/zelden/configuration.nix index 0ba0c06..7d499b1 100644 --- a/hosts/zelden/configuration.nix +++ b/hosts/zelden/configuration.nix @@ -48,11 +48,54 @@ ]; }; + users = { + defaultUserShell = pkgs.zsh; + users = { + wim = { + isNormalUser = true; + description = "Wim"; + extraGroups = [ + "networkmanager" + "wheel" + "docker" + "wireshark" + "dialout" + ]; + hashedPassword = "$6$rounds=512400$Zip3xoK2zcoR4qEL$N13YTHO5tpWfx2nKb1sye.ZPwfoRtMQ5f3YrMZqKzzoFoSSHHJ.l5ulCEa9HygFxZmBtPnwlseFEtl8ERnwF50"; + openssh.authorizedKeys.keys = [ ]; + }; + }; + }; + home-manager = { users = { + "wim" = (import ../../common/home) { + enableGraphical = true; + enableFlut = false; + enableGames = true; + displays = [ + { + # TODO: find display name and resolution + name = "DP-3"; + horizontal = 2560; + vertical = 1440; + horizontal-offset = 2560; + vertical-offset = 0; + refresh-rate = 360; + scale = "1"; + } + ]; + extraConfig = { + programs.btop.package = pkgs.btop.overrideAttrs (oldAttrs: { + cmakeFlags = (oldAttrs.cmakeFlags or [ ]) ++ [ + "-DBTOP_GPU=ON" + ]; + }); + }; + }; "noa" = (import ../../common/home) { enableGraphical = true; - enableFlut = true; + enableFlut = false; enableGames = true; displays = [ { diff --git a/hosts/zelden/root.nix b/hosts/zelden/root.nix new file mode 100644 index 0000000..8d00930 --- /dev/null +++ b/hosts/zelden/root.nix @@ -0,0 +1,101 @@ +{ + config, + pkgs, + inputs, + ... +}: + +{ + imports = [ + ../../modules/applications + ]; + # Home Manager needs a bit of information about you and the paths it should + # manage. + home.username = "root"; + home.homeDirectory = "/root"; + + # This value determines the Home Manager release that your configuration is + # compatible with. This helps avoid breakage when a new Home Manager release + # introduces backwards incompatible changes. + # + # You should not change this value, even if you update Home Manager. If you do + # want to update the value, then make sure to first check the Home Manager + # release notes. + home.stateVersion = "23.11"; # Please read the comment before changing. + + nixpkgs.config.allowUnfree = true; + + # The home.packages option allows you to install Nix packages into your + # environment. + home.packages = with pkgs; [ + file + unzip + zip + + dig + mtr + + kitty + lsd + ]; + + modules = { + apps = { + git = { + enable = true; + name = "Noa Aarts (bot)"; + email = "noa@voorwaarts.nl"; + }; + }; + }; + + # Home Manager is pretty good at managing dotfiles. The primary way to manage + # plain files is through 'home.file'. + home.file = { + # # Building this configuration will create a copy of 'dotfiles/screenrc' in + # # the Nix store. Activating the configuration will then make '~/.screenrc' a + # # symlink to the Nix store copy. + # ".screenrc".source = dotfiles/screenrc; + + # # You can also set the file content immediately. + # ".gradle/gradle.properties".text = '' + # org.gradle.console=verbose + # org.gradle.daemon.idletimeout=3600000 + # ''; + }; + + # Home Manager can also manage your environment variables through + # 'home.sessionVariables'. If you don't want to manage your shell through Home + # Manager then you have to manually source 'hm-session-vars.sh' located at + # either + # + # ~/.nix-profile/etc/profile.d/hm-session-vars.sh + # + # or + # + # ~/.local/state/nix/profiles/profile/etc/profile.d/hm-session-vars.sh + # + # or + # + # /etc/profiles/per-user/noa/etc/profile.d/hm-session-vars.sh + # + home.sessionVariables = { + EDITOR = "nvim"; + TERM = "kitty"; + }; + + xdg.userDirs.enable = true; + xdg.userDirs.createDirectories = true; + + dconf = { + enable = true; + settings = { + "org/gnome/desktop/interface" = { + color-scheme = "prefer-dark"; + }; + }; + }; + + # Let Home Manager install and manage itself. + programs.home-manager.enable = true; +}