From 988e5664ef32667ff7c888b76f9c06b58c191ea9 Mon Sep 17 00:00:00 2001 From: Grey Jones Date: Sat, 11 Jul 2026 11:50:29 +0100 Subject: [PATCH] add takamaki config, clean up host configs --- global-default.nix | 10 +- hosts/kitagawa/configs/fastfetch.nix | 151 +++++++++++++++++++++++++++ hosts/kitagawa/default.nix | 11 -- hosts/kitagawa/home.nix | 2 +- hosts/nixos-vm/default.nix | 15 --- hosts/nixos-vm/home.nix | 2 - hosts/takamaki/configs/kitty.nix | 12 +++ hosts/takamaki/default.nix | 121 ++++----------------- hosts/takamaki/home.nix | 36 +++++++ 9 files changed, 230 insertions(+), 130 deletions(-) create mode 100644 hosts/kitagawa/configs/fastfetch.nix create mode 100644 hosts/takamaki/configs/kitty.nix create mode 100644 hosts/takamaki/home.nix diff --git a/global-default.nix b/global-default.nix index 83d9caa..3291fe3 100644 --- a/global-default.nix +++ b/global-default.nix @@ -3,9 +3,13 @@ pkgs, specialArgs, ... -}: { +}: let +modules-dir = ./modules; +in { imports = [ ./hosts/${specialArgs.hostname}/hardware-configuration.nix + "${modules-dir}/nh.nix" + "${modules-dir}/home-manager.nix" ]; networking.hostName = specialArgs.hostname; @@ -70,6 +74,10 @@ powerOnBoot = false; }; + programs.gnupg.agent = { + enable = true; + }; + # This value determines the NixOS release from which the default # settings for stateful data, like file locations and database versions # on your system were taken. It‘s perfectly fine and recommended to leave diff --git a/hosts/kitagawa/configs/fastfetch.nix b/hosts/kitagawa/configs/fastfetch.nix new file mode 100644 index 0000000..a06c7fd --- /dev/null +++ b/hosts/kitagawa/configs/fastfetch.nix @@ -0,0 +1,151 @@ +{ + pkgs, + lib, + ... +}: { + programs.zsh.initContent = lib.mkOrder 1500 "fastfetch"; + + programs.fastfetch = { + enable = true; + settings = { + logo = { + type = "builtin"; + padding = { + top = 1; + left = 2; + right = 2; + }; + }; + + modules = [ + { + type = "custom"; + format = "┌────────────────── Software ──────────────────┐"; + } + { + type = "title"; + key = " Session"; + format = "{user-name}@{host-name}"; + } + { + type = "os"; + key = " Distro"; + format = "{pretty-name}"; + } + { + type = "host"; + key = " Device"; + format = "{version}"; + } + { + type = "kernel"; + key = " Kernel"; + } + { + type = "shell"; + key = " Shell"; + } + { + type = "terminal"; + key = " Term"; + } + { + type = "de"; + key = " DE"; + } + { + type = "wm"; + key = " WM"; + } + { + type = "custom"; + format = "└──────────────────────────────────────────────┘"; + } + "break" + { + type = "custom"; + format = "┌────────────────── Hardware ──────────────────┐"; + } + { + type = "cpu"; + key = " CPU"; + format = "{name}"; + } + { + type = "memory"; + key = " RAM"; + percent = { + green = 50; + yellow = 80; + type = 0; + }; + } + { + type = "swap"; + key = " Swap"; + percent = { + green = 50; + yellow = 80; + type = 0; + }; + separate = false; + } + { + type = "disk"; + key = " Disk"; + showRegular = true; + showExternal = false; + showHidden = false; + showSubvolumes = false; + showReadOnly = true; + ShowUnknown = false; + hideFolders = "/efi:/boot:/boot/*:/run/media/*"; + useAvailable = false; + percent = { + green = 50; + yellow = 80; + type = 0; + }; + } + { + type = "localip"; + key = " IP"; + showIpv4 = true; + showIpv6 = false; + showMac = false; + showLoop = false; + showPrefixLen = true; + showMtu = false; + showSpeed = false; + showFlags = false; + compact = false; + defaultRouteOnly = true; + showAllIps = false; + } + { + type = "custom"; + format = "└──────────────────────────────────────────────┘"; + } + "break" + { + type = "custom"; + format = "┌──────────────── Age / Uptime ────────────────┐"; + } + { + type = "disk"; + key = " OS Age"; + folders = "/"; + format = "{create-time:10} ({days} days)"; + } + { + type = "uptime"; + key = " Uptime"; + } + { + type = "custom"; + format = "└──────────────────────────────────────────────┘"; + } + ]; + }; + }; +} diff --git a/hosts/kitagawa/default.nix b/hosts/kitagawa/default.nix index 479954d..ebfa043 100644 --- a/hosts/kitagawa/default.nix +++ b/hosts/kitagawa/default.nix @@ -12,8 +12,6 @@ in { imports = [ ../../global-default.nix ./hardware-configuration.nix - "${modules-dir}/nh.nix" - "${modules-dir}/home-manager.nix" "${modules-dir}/zsh.nix" "${modules-dir}/display-managers/lightdm.nix" #"${modules-dir}/desktop-environments/gnome.nix" @@ -24,17 +22,8 @@ in { stylix.image = ../../assets/wallpapers/kitagawa.jpg; stylix.polarity = "dark"; - # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. - # Configure network proxy if necessary - # networking.proxy.default = "http://user:password@proxy:port/"; - # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain"; - # Some programs need SUID wrappers, can be configured further or are - # started in user sessions. - # programs.mtr.enable = true; - programs.gnupg.agent = { - enable = true; }; services.fprintd.enable = true; diff --git a/hosts/kitagawa/home.nix b/hosts/kitagawa/home.nix index 6595869..d92cd36 100644 --- a/hosts/kitagawa/home.nix +++ b/hosts/kitagawa/home.nix @@ -9,7 +9,7 @@ global-configs = ../../global-configs; in { imports = [ ../../global-home.nix - "${global-configs}/fastfetch.nix" + ./configs/fastfetch.nix "${global-configs}/zsh.nix" "${global-configs}/kitty.nix" "${global-configs}/floorp.nix" diff --git a/hosts/nixos-vm/default.nix b/hosts/nixos-vm/default.nix index f4afdf5..e76239c 100644 --- a/hosts/nixos-vm/default.nix +++ b/hosts/nixos-vm/default.nix @@ -12,29 +12,14 @@ in { imports = [ ../../global-default.nix ./hardware-configuration.nix - "${modules-dir}/nh.nix" "${modules-dir}/display-managers/sddm.nix" "${modules-dir}/desktop-environments/plasma6.nix" - "${modules-dir}/home-manager.nix" "${modules-dir}/zsh.nix" ]; - # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. - - # Configure network proxy if necessary - # networking.proxy.default = "http://user:password@proxy:port/"; - # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain"; - virtualisation.virtualbox.guest.enable = true; virtualisation.virtualbox.guest.dragAndDrop = true; - # Some programs need SUID wrappers, can be configured further or are - # started in user sessions. - # programs.mtr.enable = true; - programs.gnupg.agent = { - enable = true; - }; - # List services that you want to enable: # Enable the OpenSSH daemon. diff --git a/hosts/nixos-vm/home.nix b/hosts/nixos-vm/home.nix index c2cc739..cdcd277 100644 --- a/hosts/nixos-vm/home.nix +++ b/hosts/nixos-vm/home.nix @@ -1,8 +1,6 @@ { config, pkgs, - inputs, - lib, ... }: let global-configs = ../../global-configs; diff --git a/hosts/takamaki/configs/kitty.nix b/hosts/takamaki/configs/kitty.nix new file mode 100644 index 0000000..8edadad --- /dev/null +++ b/hosts/takamaki/configs/kitty.nix @@ -0,0 +1,12 @@ +{ + pkgs, + ... +}: { + imports = [ + ../../../global-configs/kitty.nix + ]; + + programs.kitty = { + themeFile = "Arthur"; + }; +} \ No newline at end of file diff --git a/hosts/takamaki/default.nix b/hosts/takamaki/default.nix index 3b128e5..e5fc2c7 100644 --- a/hosts/takamaki/default.nix +++ b/hosts/takamaki/default.nix @@ -1,104 +1,25 @@ -# Edit this configuration file to define what should be installed on -# your system. Help is available in the configuration.nix(5) man page -# and in the NixOS manual (accessible by running ‘nixos-help’). - -{ config, pkgs, ... }: - { - imports = - [ # Include the results of the hardware scan. - ./hardware-configuration.nix - ../../flakes/nh.nix + config, + pkgs, + ... +}: let +modules-dir = ../../modules; +in { + imports = [ + ../../global-default.nix + ./hardware-configuration.nix + "${modules-dir}/display-managers/sddm.nix" + "${modules-dir}/desktop-environments/plasma6.nix" + "${modules-dir}/zsh.nix" + ]; + + programs.gamemode.enable = true; + programs.steam = { + enable = true; + remotePlay.openFirewall = true; + dedicatedServer.openFirewall = true; + extraCompatPackages = with pkgs; [ + proton-ge-bin ]; - - nix.settings.experimental-features = [ - "nix-command" - "flakes" - ]; - - # Bootloader. - boot.loader.systemd-boot.enable = true; - boot.loader.efi.canTouchEfiVariables = true; - - networking.hostName = "nixos-vm"; # Define your hostname. - # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. - - # Configure network proxy if necessary - # networking.proxy.default = "http://user:password@proxy:port/"; - # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain"; - - # Enable networking - networking.networkmanager.enable = true; - - # Set your time zone. - time.timeZone = "Europe/London"; - - # Select internationalisation properties. - i18n.defaultLocale = "en_GB.UTF-8"; - - i18n.extraLocaleSettings = { - LC_ADDRESS = "en_GB.UTF-8"; - LC_IDENTIFICATION = "en_GB.UTF-8"; - LC_MEASUREMENT = "en_GB.UTF-8"; - LC_MONETARY = "en_GB.UTF-8"; - LC_NAME = "en_GB.UTF-8"; - LC_NUMERIC = "en_GB.UTF-8"; - LC_PAPER = "en_GB.UTF-8"; - LC_TELEPHONE = "en_GB.UTF-8"; - LC_TIME = "en_GB.UTF-8"; }; - - # Configure keymap in X11 - services.xserver.xkb = { - layout = "gb"; - variant = ""; - }; - - # Configure console keymap - console.keyMap = "uk"; - - # Define a user account. Don't forget to set a password with ‘passwd’. - users.users."grey" = { - isNormalUser = true; - description = "grey"; - extraGroups = [ "networkmanager" "wheel" ]; - packages = with pkgs; []; - }; - - # Allow unfree packages - nixpkgs.config.allowUnfree = true; - - # List packages installed in system profile. To search, run: - # $ nix search wget - environment.systemPackages = with pkgs; [ - # vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default. - # wget - ]; - - # Some programs need SUID wrappers, can be configured further or are - # started in user sessions. - # programs.mtr.enable = true; - # programs.gnupg.agent = { - # enable = true; - # enableSSHSupport = true; - # }; - - # List services that you want to enable: - - # Enable the OpenSSH daemon. - # services.openssh.enable = true; - - # Open ports in the firewall. - # networking.firewall.allowedTCPPorts = [ ... ]; - # networking.firewall.allowedUDPPorts = [ ... ]; - # Or disable the firewall altogether. - # networking.firewall.enable = false; - - # This value determines the NixOS release from which the default - # settings for stateful data, like file locations and database versions - # on your system were taken. It‘s perfectly fine and recommended to leave - # this value at the release version of the first install of this system. - # Before changing this value read the documentation for this option - # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). - system.stateVersion = "26.05"; # Did you read the comment? } diff --git a/hosts/takamaki/home.nix b/hosts/takamaki/home.nix new file mode 100644 index 0000000..7d2cf0b --- /dev/null +++ b/hosts/takamaki/home.nix @@ -0,0 +1,36 @@ +{ + config, + pkgs, + ... +}: let +global-configs = ../../global-configs; +in { + imports = [ + ../../global-home.nix + "${global-configs}/plasma.nix" + "${global-configs}/fastfetch.nix" + "${global-configs}/zen-browser.nix" + "${global-configs}/zsh.nix" + ./configs/kitty.nix + ]; + + home.packages = with pkgs; [ + equibop + prismlauncher + obsidian + github-desktop + vscode + thunderbird + spotify + unityhub + godot + jetbrains.clion + jetbrains.idea + obs-studio + proton-vpn + ente-auth + lact + winetricks + protontricks + ]; +}