From 685de1c89939edd23e297a88167a4edef8a0e041 Mon Sep 17 00:00:00 2001 From: Zoe Roux Date: Tue, 22 Aug 2023 19:31:36 +0200 Subject: [PATCH] Cleanup nix files --- flake.nix | 8 +-- modules/home/ntfy/default.nix | 17 ------ modules/home/ntfy/tiramisu.sh | 3 - modules/misc/default.nix | 66 ++++++++++++++++++++++ modules/misc/fonts.nix | 60 ++++++++++++++++++++ modules/misc/impermanence.nix | 81 +++++++++++++++++++++++++++ modules/nixos/default.nix | 33 ----------- modules/nixos/fonts/default.nix | 46 --------------- modules/nixos/fonts/flatpak_fonts.nix | 24 -------- modules/nixos/games/default.nix | 16 ------ modules/nixos/nix/default.nix | 81 --------------------------- modules/nixos/wayland/default.nix | 35 ------------ 12 files changed, 208 insertions(+), 262 deletions(-) delete mode 100644 modules/home/ntfy/default.nix delete mode 100755 modules/home/ntfy/tiramisu.sh create mode 100644 modules/misc/default.nix create mode 100644 modules/misc/fonts.nix create mode 100644 modules/misc/impermanence.nix delete mode 100644 modules/nixos/default.nix delete mode 100644 modules/nixos/fonts/default.nix delete mode 100644 modules/nixos/fonts/flatpak_fonts.nix delete mode 100644 modules/nixos/games/default.nix delete mode 100644 modules/nixos/nix/default.nix delete mode 100644 modules/nixos/wayland/default.nix diff --git a/flake.nix b/flake.nix index c5ec56b..d10fe6f 100644 --- a/flake.nix +++ b/flake.nix @@ -52,7 +52,7 @@ nixpkgs.lib.nixosSystem { specialArgs = inputs; modules = [ - ./modules/nixos + ./modules/misc # ./modules/gnome ./modules/dwl nixModules @@ -131,12 +131,6 @@ in { nixosConfigurations = { fuhen = mkSystem "x86_64-linux" "fuhen" { - nixModules = { - fonts.enable = true; - nixconf.enable = true; - wayland.enable = true; - games.enable = true; - }; homeModules = { apps.enable = true; zsh.enable = true; diff --git a/modules/home/ntfy/default.nix b/modules/home/ntfy/default.nix deleted file mode 100644 index 86d4380..0000000 --- a/modules/home/ntfy/default.nix +++ /dev/null @@ -1,17 +0,0 @@ -{ - lib, - config, - pkgs, - ... -}: -with lib; let - cfg = config.modules.ntfy; - - ntfy = pkgs.writeShellScriptBin "ntfy" (builtins.readFile ./tiramisu.sh); -in { - options.modules.ntfy = {enable = mkEnableOption "ntfy";}; - - config = mkIf cfg.enable { - home.packages = with pkgs; [ ntfy tiramisu ]; - }; -} diff --git a/modules/home/ntfy/tiramisu.sh b/modules/home/ntfy/tiramisu.sh deleted file mode 100755 index 7758fc3..0000000 --- a/modules/home/ntfy/tiramisu.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/env bash - -${1:-tiramisu} -s -o '{"title": "#source: #summary", "message": "#body", "topic": "zoriya"}' | xargs -L1 -d\\n curl ntfy.sh -d diff --git a/modules/misc/default.nix b/modules/misc/default.nix new file mode 100644 index 0000000..1dc219f --- /dev/null +++ b/modules/misc/default.nix @@ -0,0 +1,66 @@ +{ + lib, + config, + pkgs, + user, + ... +}: { + imports = [ + ./fonts.nix + ./impermanence.nix + ]; + + services.printing.enable = true; + security.rtkit.enable = true; + security.polkit.enable = true; + + hardware.pulseaudio.enable = false; + services.pipewire = { + enable = true; + alsa.enable = true; + alsa.support32Bit = true; + jack.enable = true; + pulse.enable = true; + }; + hardware.bluetooth.enable = true; + + security.sudo.extraConfig = '' + Defaults lecture="never" + ''; + + boot.loader = { + # Hide the boot loader and show it only on keypress. + timeout = 0; + systemd-boot = { + enable = true; + configurationLimit = 4; + # A real mode for hidpi + consoleMode = "max"; + }; + efi.canTouchEfiVariables = true; + }; + networking.networkmanager.enable = true; + services.automatic-timezoned.enable = true; + + programs.gnupg.agent = { + enable = true; + enableSSHSupport = true; + }; + + services.flatpak.enable = true; + + hardware.steam-hardware.enable = true; + hardware.opengl.driSupport32Bit = true; + environment.systemPackages = with pkgs; [ + wineWowPackages.stable + wineWowPackages.waylandFull + winetricks + ]; + + # boot.kernelPackages = pkgs.linuxPackages_latest; + # This was needed on older versions of the kernel. + #boot.kernelParams = ["i915.force_probe=46a6" "i915.enable_psr=0"]; + + # Never change this. + system.stateVersion = "22.11"; +} diff --git a/modules/misc/fonts.nix b/modules/misc/fonts.nix new file mode 100644 index 0000000..cbcab6d --- /dev/null +++ b/modules/misc/fonts.nix @@ -0,0 +1,60 @@ +{ + pkgs, + config, + lib, + ... +}: { + console = { + font = "ter-i32b"; + packages = with pkgs; [terminus_font]; + earlySetup = true; + }; + + fonts = { + packages = with pkgs; [ + roboto + dejavu_fonts + # Some japanese fonts + ipafont + kochi-substitute + (nerdfonts.override {fonts = ["JetBrainsMono"];}) + ]; + + fontconfig = { + defaultFonts = { + monospace = [ + "JetBrainsMono NL Nerd Font" + "IPAGothic" + ]; + sansSerif = [ + "DejaVu Sans" + "IPAPGothic" + ]; + serif = [ + "DejaVu Serif" + "IPAPMincho" + ]; + }; + }; + }; + i18n.defaultLocale = "en_US.UTF-8"; + + # Create an FHS mount to support flatpak host icons/fonts + system.fsPackages = [pkgs.bindfs]; + fileSystems = let + mkRoSymBind = path: { + device = path; + fsType = "fuse.bindfs"; + options = ["ro" "resolve-symlinks" "x-gvfs-hide"]; + }; + aggregatedFonts = pkgs.buildEnv { + name = "system-fonts"; + paths = config.fonts.packages; + pathsToLink = ["/share/fonts"]; + }; + in { + # icons don't work, don't know why, don't care + # "/usr/share/icons" = mkRoSymBind (config.system.path + "/share/icons"); + "/usr/share/fonts" = mkRoSymBind (aggregatedFonts + "/share/fonts"); + }; +} diff --git a/modules/misc/impermanence.nix b/modules/misc/impermanence.nix new file mode 100644 index 0000000..70ccb9e --- /dev/null +++ b/modules/misc/impermanence.nix @@ -0,0 +1,81 @@ +{ + lib, + config, + impermanence, + ... +}: { + imports = [impermanence.nixosModules.impermanence]; + nix = { + settings = { + auto-optimise-store = true; + warn-dirty = false; + experimental-features = ["nix-command" "flakes"]; + }; + gc = { + automatic = true; + dates = "weekly"; + options = "--delete-older-than 14d"; + }; + extraOptions = '' + keep-outputs = true + keep-derivations = true + ''; + }; + nixpkgs.config.allowUnfree = true; + environment.persistence."/nix/persist" = { + hideMounts = true; + directories = [ + "/var/log" + "/var/lib/bluetooth" + "/var/lib/systemd/coredump" + "/var/lib/docker" + "/var/lib/waydroid" + "/var/lib/flatpak" + "/etc/NetworkManager/system-connections" + ]; + files = [ + "/etc/machine-id" + ]; + users.zoriya = { + directories = [ + "downloads" + "stuff" + "projects" + { + directory = ".gnupg"; + mode = "0700"; + } + { + directory = ".ssh"; + mode = "0700"; + } + ".local/share/direnv" + ".local/share/flatpak" + ".local/share/waydroid" + ".var" + ".cache/flatpak" + ".local/share/atuin" + # Cache for sessions (keep website logged in, plugin downloaded...) + ".mozilla" + ".config/google-chrome" + ".config/discord" + ".config/YouTube\ Music" + # Don't reinstall plugins on reboot + ".local/share/nvim" + ".local/state/nvim" + # Gnome accounts + ".config/goa-1.0" + ".cache/gnome-control-center-goa-helper" + ]; + files = [ + ".config/zsh/custom.zsh" + ]; + }; + }; + + fileSystems."/home/zoriya/wallpapers" = { + device = "/home/zoriya/projects/flake/wallpapers/"; + fsType = "none"; + options = ["bind"]; + }; +} diff --git a/modules/nixos/default.nix b/modules/nixos/default.nix deleted file mode 100644 index f2e76ee..0000000 --- a/modules/nixos/default.nix +++ /dev/null @@ -1,33 +0,0 @@ -{pkgs, ...}: { - imports = [ - ./fonts - ./nix - ./wayland - ./games - ]; - - boot.loader = { - # Hide the boot loader and show it only on keypress. - timeout = 0; - systemd-boot = { - enable = true; - configurationLimit = 4; - # A real mode for hidpi - consoleMode = "max"; - }; - efi.canTouchEfiVariables = true; - }; - networking.networkmanager.enable = true; - services.automatic-timezoned.enable = true; - - programs.gnupg.agent = { - enable = true; - enableSSHSupport = true; - }; - # boot.kernelPackages = pkgs.linuxPackages_latest; - # This was needed on older versions of the kernel. - #boot.kernelParams = ["i915.force_probe=46a6" "i915.enable_psr=0"]; - - # Never change this. - system.stateVersion = "22.11"; -} diff --git a/modules/nixos/fonts/default.nix b/modules/nixos/fonts/default.nix deleted file mode 100644 index 8246b60..0000000 --- a/modules/nixos/fonts/default.nix +++ /dev/null @@ -1,46 +0,0 @@ -{ - pkgs, - config, - lib, - ... -}: let - cfg = config.fonts; -in { - imports = [./flatpak_fonts.nix]; - options.fonts = {enable = lib.mkEnableOption "fonts";}; - config = lib.mkIf cfg.enable { - console = { - font = "ter-i32b"; - packages = with pkgs; [terminus_font]; - earlySetup = true; - }; - fonts = { - packages = with pkgs; [ - roboto - dejavu_fonts - # Some japanese fonts - ipafont - kochi-substitute - (nerdfonts.override {fonts = ["JetBrainsMono"];}) - ]; - - fontconfig = { - defaultFonts = { - monospace = [ - "JetBrainsMono NL Nerd Font" - "IPAGothic" - ]; - sansSerif = [ - "DejaVu Sans" - "IPAPGothic" - ]; - serif = [ - "DejaVu Serif" - "IPAPMincho" - ]; - }; - }; - }; - i18n.defaultLocale = "en_US.UTF-8"; - }; -} diff --git a/modules/nixos/fonts/flatpak_fonts.nix b/modules/nixos/fonts/flatpak_fonts.nix deleted file mode 100644 index aa5e241..0000000 --- a/modules/nixos/fonts/flatpak_fonts.nix +++ /dev/null @@ -1,24 +0,0 @@ -{ - pkgs, - config, - ... -}: { - system.fsPackages = [pkgs.bindfs]; - fileSystems = let - mkRoSymBind = path: { - device = path; - fsType = "fuse.bindfs"; - options = ["ro" "resolve-symlinks" "x-gvfs-hide"]; - }; - aggregatedFonts = pkgs.buildEnv { - name = "system-fonts"; - paths = config.fonts.packages; - pathsToLink = ["/share/fonts"]; - }; - in { - # Create an FHS mount to support flatpak host icons/fonts - # icons don't work, don't know why, don't care - # "/usr/share/icons" = mkRoSymBind (config.system.path + "/share/icons"); - "/usr/share/fonts" = mkRoSymBind (aggregatedFonts + "/share/fonts"); - }; -} diff --git a/modules/nixos/games/default.nix b/modules/nixos/games/default.nix deleted file mode 100644 index cb2e258..0000000 --- a/modules/nixos/games/default.nix +++ /dev/null @@ -1,16 +0,0 @@ -{ pkgs, config, lib, ... }: let -cfg = config.games; -in { - options.games = { enable = lib.mkEnableOption "games"; }; - config = lib.mkIf cfg.enable { - services.flatpak.enable = true; - - hardware.steam-hardware.enable = true; - hardware.opengl.driSupport32Bit = true; - environment.systemPackages = with pkgs; [ - wineWowPackages.stable - wineWowPackages.waylandFull - winetricks - ]; - }; -} diff --git a/modules/nixos/nix/default.nix b/modules/nixos/nix/default.nix deleted file mode 100644 index ae4618a..0000000 --- a/modules/nixos/nix/default.nix +++ /dev/null @@ -1,81 +0,0 @@ -{ - lib, - config, - impermanence, - ... -}: let - cfg = config.nixconf; -in { - imports = [ impermanence.nixosModules.impermanence ]; - options.nixconf = {enable = lib.mkEnableOption "nix";}; - config = lib.mkIf cfg.enable { - - nix = { - settings = { - auto-optimise-store = true; - warn-dirty = false; - experimental-features = ["nix-command" "flakes"]; - }; - gc = { - automatic = true; - dates = "weekly"; - options = "--delete-older-than 14d"; - }; - extraOptions = '' - keep-outputs = true - keep-derivations = true - ''; - }; - nixpkgs.config.allowUnfree = true; - environment.persistence."/nix/persist" = { - hideMounts = true; - directories = [ - "/var/log" - "/var/lib/bluetooth" - "/var/lib/systemd/coredump" - "/var/lib/docker" - "/var/lib/waydroid" - "/var/lib/flatpak" - "/etc/NetworkManager/system-connections" - ]; - files = [ - "/etc/machine-id" - ]; - users.zoriya = { - directories = [ - "downloads" - "stuff" - "projects" - { directory = ".gnupg"; mode = "0700"; } - { directory = ".ssh"; mode = "0700"; } - ".local/share/direnv" - ".local/share/flatpak" - ".local/share/waydroid" - ".var" - ".cache/flatpak" - ".local/share/atuin" - # Cache for sessions (keep website logged in, plugin downloaded...) - ".mozilla" - ".config/google-chrome" - ".config/discord" - ".config/YouTube\ Music" - # Don't reinstall plugins on reboot - ".local/share/nvim" - ".local/state/nvim" - # Gnome accounts - ".config/goa-1.0" - ".cache/gnome-control-center-goa-helper" - ]; - files = [ - ".config/zsh/custom.zsh" - ]; - }; - }; - - fileSystems."/home/zoriya/wallpapers" = { - device = "/home/zoriya/projects/flake/wallpapers/"; - fsType = "none"; - options = [ "bind" ]; - }; - }; -} diff --git a/modules/nixos/wayland/default.nix b/modules/nixos/wayland/default.nix deleted file mode 100644 index 2c3c5ed..0000000 --- a/modules/nixos/wayland/default.nix +++ /dev/null @@ -1,35 +0,0 @@ -{ - lib, - config, - pkgs, - user, - ... -}: let - cfg = config.wayland; -in { - options.wayland = {enable = lib.mkEnableOption "wayland";}; - config = lib.mkIf cfg.enable { - services.printing.enable = true; - security.rtkit.enable = true; - security.polkit.enable = true; - - # Pipewire just refuses to have a decent mic so I will use pulseaudio for now - # hardware.pulseaudio = { - # enable = true; - # support32Bit = true; - # }; - hardware.pulseaudio.enable = false; - services.pipewire = { - enable = true; - alsa.enable = true; - alsa.support32Bit = true; - jack.enable = true; - pulse.enable = true; - }; - hardware.bluetooth.enable = true; - - security.sudo.extraConfig = '' - Defaults lecture="never" - ''; - }; -}