From 08ed44657e0087e24045e2dccb6ef265a53a25fe Mon Sep 17 00:00:00 2001 From: Joey Hafner Date: Tue, 29 Oct 2024 14:17:36 -0700 Subject: [PATCH] Refactor laptop home-manager configuration as module of nixos configuration, add brightness control, document TODO --- dotfiles/README.md | 13 +++++++++++++ dotfiles/flake.nix | 13 ++++++++++++- .../nixos/laptop/wm/hyprland/desktopEnvironment.nix | 11 ++++++----- 3 files changed, 31 insertions(+), 6 deletions(-) create mode 100644 dotfiles/README.md diff --git a/dotfiles/README.md b/dotfiles/README.md new file mode 100644 index 00000000..84c2e589 --- /dev/null +++ b/dotfiles/README.md @@ -0,0 +1,13 @@ +## Dotfiles TODO + +### TODO +- Write a shell application to manage display brightness on laptop. Use `brightnessctl`. Call the script via hyprland bindings. +- Devise a maximally-portable method to get "autofill" from Bitwarden vault. (E.g. "Ctrl+Super+P" -> Search+Select app -> Automatically fills username, password, copies TOTP to clipboard). +- Determine how to facilitate theme hotswapping. Hyprpaper? Stylix? +- Polish waybar appearance. Add some transparency, improve handling of dark vs. light polarities. Add widget for Spotify playback. +- Migrate flatpak apps to native if possible (Zen for laptop, everything listed in `services.flatpak.packages` for desktop). +- Reorganize nix files such that "roles" or "tasks" are tightly coupled (e.g. "games" should contain all system and hm options necessary to do games), and common (i.e. always wanted) configuration options are consolidated. +- Look into [impermanence](https://nixos.wiki/wiki/Impermanence) for maximal reproducibility. +- Migrate desktop to nixos. +- Build declarative browser configuration (possible with Zen?). +- Build specialization for professional work. diff --git a/dotfiles/flake.nix b/dotfiles/flake.nix index 88b6b499..2f63648a 100644 --- a/dotfiles/flake.nix +++ b/dotfiles/flake.nix @@ -73,8 +73,19 @@ modules = [ ./nixos/laptop/configuration.nix inputs.hyprland.nixosModules.default - inputs.stylix.nixosModules.stylix + #inputs.stylix.nixosModules.stylix inputs.nix-flatpak.nixosModules.nix-flatpak + inputs.home-manager.nixosModules.home-manager + { + home-manager = { + users.joey = import ./home-manager/laptop/home.nix; + sharedModules = [ + inputs.nix-flatpak.homeManagerModules.nix-flatpak + inputs.stylix.homeManagerModules.stylix + ]; + extraSpecialArgs = { inherit pkgs pkgs-unstable inputs; inherit vars; }; + }; + } ]; inherit system; specialArgs = { diff --git a/dotfiles/nixos/laptop/wm/hyprland/desktopEnvironment.nix b/dotfiles/nixos/laptop/wm/hyprland/desktopEnvironment.nix index 8a59c64a..50ef97c5 100644 --- a/dotfiles/nixos/laptop/wm/hyprland/desktopEnvironment.nix +++ b/dotfiles/nixos/laptop/wm/hyprland/desktopEnvironment.nix @@ -1,11 +1,12 @@ { pkgs, vars, ... }: { environment.systemPackages = with pkgs; [ - mako libnotify - swww - wofi - polkit-kde-agent - xfce.thunar + brightnessctl + mako libnotify + swww + wofi + polkit-kde-agent + xfce.thunar ]; programs.hyprland = { enable = true;