diff --git a/.gitignore b/.gitignore index b2be92b..e38504b 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ result +home.nix diff --git a/home-default.nix b/home-default.nix new file mode 100644 index 0000000..68f6c77 --- /dev/null +++ b/home-default.nix @@ -0,0 +1,200 @@ +{ config, pkgs, lib, ... }: + +with import {}; +{ + # Home Manager needs a bit of information about you and the paths it should + # manage. + home.username = "johno"; + home.homeDirectory = "/home/johno"; + + # 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 = "24.05"; # Please read the comment before changing. + + # The home.packages option allows you to install Nix packages into your + # environment. + home.packages = [ + # # Adds the 'hello' command to your environment. It prints a friendly + # # "Hello, world!" when run. + # pkgs.hello + + # # It is sometimes useful to fine-tune packages, for example, by applying + # # overrides. You can do that directly here, just don't forget the + # # parentheses. Maybe you want to install Nerd Fonts with a limited number of + # # fonts? + # (pkgs.nerdfonts.override { fonts = [ "FantasqueSansMono" ]; }) + + # # You can also create simple shell scripts directly inside your + # # configuration. For example, this adds a command 'my-hello' to your + # # environment: + # (pkgs.writeShellScriptBin "my-hello" '' + # echo "Hello, ${config.home.username}!" + # '') + + pkgs.bitwarden + pkgs.dunst + pkgs.element-desktop + pkgs.fd + pkgs.fluffychat + pkgs.gzip + pkgs.htop + pkgs.jellyfin-media-player + pkgs.keepassxc + pkgs.kitty + pkgs.less + pkgs.ncdu + pkgs.pandoc + pkgs.pinentry-qt + #pkgs.pytest + pkgs.shellcheck + pkgs.tmux + pkgs.waybar + pkgs.wofi + pkgs.vlc + ]; + + # 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'. These will be explicitly sourced when using a + # shell provided by Home Manager. 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/johno/etc/profile.d/hm-session-vars.sh + # + home.sessionVariables = { + }; + + home.sessionPath = [ + ]; + + nixpkgs.config.allowUnfree = true; + + imports = [ + ./modules/applications/emacs/default.nix + ./modules/games/lutris/default.nix + ./modules/window_managers/hyprland/default.nix + ]; + + programs.bash.enable = true; + + nix = { + gc = { + automatic = true; + }; + }; + + # Let Home Manager install and manage itself. + programs.home-manager.enable = true; + + programs.command-not-found.enable = true; + + programs.firefox = { + enable = true; + }; + + programs.git = { + enable = true; + userName = "John Ogle"; + userEmail = "john@ogle.fyi"; + }; + + programs.gpg.enable = true; + + services.gpg-agent = { + enable = true; + enableSshSupport = true; + defaultCacheTtl = 1800; + pinentryPackage = pkgs.pinentry-qt; + }; + + programs.jq.enable = true; + + programs.k9s.enable = true; + + programs.neovim = { + enable = true; + viAlias = true; + vimAlias = true; + }; + + programs.rbw = { + enable = true; + settings = { + email = "john@johnogle.info"; + base_url = "https://bitwarden.johnogle.info"; + pinentry = pkgs.pinentry-qt; + }; + }; + + programs.spotify-player.enable = true; + + programs.ssh = { + enable = true; + addKeysToAgent = "yes"; + matchBlocks = { + "nucdeb1" = { + hostname = "nucdeb1.oglehome"; + user = "root"; + }; + }; + }; + + services.home-manager.autoUpgrade = { + enable = true; + frequency = "weekly"; + }; + + services.kdeconnect = { + enable = true; + indicator = true; + }; + + services.spotifyd = { + enable = true; + settings = { + global = { + username = "johnogle222"; + }; + }; + }; + + services.syncthing = { + enable = true; + tray = { + enable = true; + package = pkgs.qsyncthingtray; + command = "qsyncthingtray --wait"; + }; + }; + + xdg.enable = true; +} diff --git a/home-z790prors.nix b/home-z790prors.nix new file mode 100644 index 0000000..0081782 --- /dev/null +++ b/home-z790prors.nix @@ -0,0 +1,8 @@ +{ config, lib, pkgs, ... }: + +{ + imports = [ + ./home-default.nix + ./modules/window_managers/hyprland/z790prors.nix + ]; +} diff --git a/home.nix b/home.nix deleted file mode 100644 index 68f6c77..0000000 --- a/home.nix +++ /dev/null @@ -1,200 +0,0 @@ -{ config, pkgs, lib, ... }: - -with import {}; -{ - # Home Manager needs a bit of information about you and the paths it should - # manage. - home.username = "johno"; - home.homeDirectory = "/home/johno"; - - # 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 = "24.05"; # Please read the comment before changing. - - # The home.packages option allows you to install Nix packages into your - # environment. - home.packages = [ - # # Adds the 'hello' command to your environment. It prints a friendly - # # "Hello, world!" when run. - # pkgs.hello - - # # It is sometimes useful to fine-tune packages, for example, by applying - # # overrides. You can do that directly here, just don't forget the - # # parentheses. Maybe you want to install Nerd Fonts with a limited number of - # # fonts? - # (pkgs.nerdfonts.override { fonts = [ "FantasqueSansMono" ]; }) - - # # You can also create simple shell scripts directly inside your - # # configuration. For example, this adds a command 'my-hello' to your - # # environment: - # (pkgs.writeShellScriptBin "my-hello" '' - # echo "Hello, ${config.home.username}!" - # '') - - pkgs.bitwarden - pkgs.dunst - pkgs.element-desktop - pkgs.fd - pkgs.fluffychat - pkgs.gzip - pkgs.htop - pkgs.jellyfin-media-player - pkgs.keepassxc - pkgs.kitty - pkgs.less - pkgs.ncdu - pkgs.pandoc - pkgs.pinentry-qt - #pkgs.pytest - pkgs.shellcheck - pkgs.tmux - pkgs.waybar - pkgs.wofi - pkgs.vlc - ]; - - # 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'. These will be explicitly sourced when using a - # shell provided by Home Manager. 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/johno/etc/profile.d/hm-session-vars.sh - # - home.sessionVariables = { - }; - - home.sessionPath = [ - ]; - - nixpkgs.config.allowUnfree = true; - - imports = [ - ./modules/applications/emacs/default.nix - ./modules/games/lutris/default.nix - ./modules/window_managers/hyprland/default.nix - ]; - - programs.bash.enable = true; - - nix = { - gc = { - automatic = true; - }; - }; - - # Let Home Manager install and manage itself. - programs.home-manager.enable = true; - - programs.command-not-found.enable = true; - - programs.firefox = { - enable = true; - }; - - programs.git = { - enable = true; - userName = "John Ogle"; - userEmail = "john@ogle.fyi"; - }; - - programs.gpg.enable = true; - - services.gpg-agent = { - enable = true; - enableSshSupport = true; - defaultCacheTtl = 1800; - pinentryPackage = pkgs.pinentry-qt; - }; - - programs.jq.enable = true; - - programs.k9s.enable = true; - - programs.neovim = { - enable = true; - viAlias = true; - vimAlias = true; - }; - - programs.rbw = { - enable = true; - settings = { - email = "john@johnogle.info"; - base_url = "https://bitwarden.johnogle.info"; - pinentry = pkgs.pinentry-qt; - }; - }; - - programs.spotify-player.enable = true; - - programs.ssh = { - enable = true; - addKeysToAgent = "yes"; - matchBlocks = { - "nucdeb1" = { - hostname = "nucdeb1.oglehome"; - user = "root"; - }; - }; - }; - - services.home-manager.autoUpgrade = { - enable = true; - frequency = "weekly"; - }; - - services.kdeconnect = { - enable = true; - indicator = true; - }; - - services.spotifyd = { - enable = true; - settings = { - global = { - username = "johnogle222"; - }; - }; - }; - - services.syncthing = { - enable = true; - tray = { - enable = true; - package = pkgs.qsyncthingtray; - command = "qsyncthingtray --wait"; - }; - }; - - xdg.enable = true; -} diff --git a/home.nix b/home.nix new file mode 120000 index 0000000..f2ff37c --- /dev/null +++ b/home.nix @@ -0,0 +1 @@ +home-z790prors.nix \ No newline at end of file diff --git a/modules/window_managers/hyprland/default.nix b/modules/window_managers/hyprland/default.nix index fd3dc0e..1baf3b3 100644 --- a/modules/window_managers/hyprland/default.nix +++ b/modules/window_managers/hyprland/default.nix @@ -9,8 +9,6 @@ wayland.windowManager.hyprland = { enable = true; settings = { - monitor = ",preferred,auto,1.5"; - "$mod" = "SUPER"; "$terminal" = "kitty"; "$fileManager" = "dolphin"; diff --git a/modules/window_managers/hyprland/z790prors.nix b/modules/window_managers/hyprland/z790prors.nix new file mode 100644 index 0000000..eb45d2e --- /dev/null +++ b/modules/window_managers/hyprland/z790prors.nix @@ -0,0 +1,5 @@ +{ config, lib, pkgs, ... }: + +{ + wayland.windowManager.hyprland.settings.monitor = ",preferred,3440x1440@164.90Hz,1.33333"; +}