diff --git a/home-manager/sabrina/home.nix b/home-manager/sabrina/home.nix deleted file mode 100644 index 2dbdf0e..0000000 --- a/home-manager/sabrina/home.nix +++ /dev/null @@ -1,73 +0,0 @@ -# This is your home-manager configuration file -# Use this to configure your home environment (it replaces ~/.config/nixpkgs/home.nix) - -{ inputs, outputs, lib, config, pkgs, ... }: { - # You can import other home-manager modules here - imports = [ - # If you want to use modules your own flake exports (from modules/home-manager): - # outputs.homeManagerModules.example - - # Or modules exported from other flakes (such as nix-colors): - # inputs.nix-colors.homeManagerModules.default - - # You can also split up your configuration and import pieces of it here: - ../common/programs/git - ../common/programs/nvim - ../common/programs/zsh - ]; - - nixpkgs = { - # You can add overlays here - overlays = [ - # Add overlays your own flake exports (from overlays and pkgs dir): - outputs.overlays.additions - outputs.overlays.modifications - outputs.overlays.unstable-packages - - # You can also add overlays exported from other flakes: - # neovim-nightly-overlay.overlays.default - - # Or define it inline, for example: - # (final: prev: { - # hi = final.hello.overrideAttrs (oldAttrs: { - # patches = [ ./change-hello-to-hi.patch ]; - # }); - # }) - ]; - # Configure your nixpkgs instance - config = { - # Disable if you don't want unfree packages - allowUnfree = true; - # Workaround for https://github.com/nix-community/home-manager/issues/2942 - allowUnfreePredicate = (_: true); - }; - }; - - # Enable home-manager - programs = { - home-manager.enable = true; - ssh = { - enable = true; - matchBlocks = { - "fuchsia" = { - hostname = "192.168.1.101"; - }; - }; - }; - }; - - home = { - # Setup our user environment - username = "sabrina"; - homeDirectory = "/home/sabrina"; - sessionVariables = { - EDITOR = "nvim"; - }; - }; - - # Nicely reload system units when changing configs - systemd.user.startServices = "sd-switch"; - - # https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion - home.stateVersion = "22.11"; -} diff --git a/home-manager/sabrina/id_ed25519.pub b/home-manager/sabrina/id_ed25519.pub deleted file mode 100644 index abe8a52..0000000 --- a/home-manager/sabrina/id_ed25519.pub +++ /dev/null @@ -1 +0,0 @@ -ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIH+aPO/4odcdOtNbjpD1IinQSyO4vW98LcOvSXhwQutZ diff --git a/home-manager/sajenim/features/cli/default.nix b/home-manager/sajenim/features/cli/default.nix new file mode 100644 index 0000000..03ae654 --- /dev/null +++ b/home-manager/sajenim/features/cli/default.nix @@ -0,0 +1,17 @@ +{ pkgs, ... }: + +{ + imports = [ + ./git.nix + ./zsh.nix + ]; + + home.packages = with pkgs; [ + lazygit + ]; + + programs.ssh = { + enable = true; + matchBlocks."viridian".hostname = "192.168.1.102"; + }; +} diff --git a/home-manager/common/programs/git/default.nix b/home-manager/sajenim/features/cli/git.nix similarity index 67% rename from home-manager/common/programs/git/default.nix rename to home-manager/sajenim/features/cli/git.nix index 1f75fb3..03d173b 100644 --- a/home-manager/common/programs/git/default.nix +++ b/home-manager/sajenim/features/cli/git.nix @@ -1,4 +1,4 @@ -{ inputs, outputs, lib, config, pkgs, ... }: +{ pkgs, ... }: { home.packages = with pkgs; [ @@ -11,6 +11,8 @@ userEmail = "its.jassy@pm.me"; extraConfig = { init.defaultBranch = "main"; + core.sshCommand = "~/.ssh/sajenim_sk"; + user.signingkey = "~/.ssh/signing_sk"; }; }; } diff --git a/home-manager/common/programs/zsh/default.nix b/home-manager/sajenim/features/cli/zsh.nix similarity index 86% rename from home-manager/common/programs/zsh/default.nix rename to home-manager/sajenim/features/cli/zsh.nix index fcfa810..c8c8430 100644 --- a/home-manager/common/programs/zsh/default.nix +++ b/home-manager/sajenim/features/cli/zsh.nix @@ -1,4 +1,4 @@ -{ inputs, outputs, lib, config, pkgs, ... }: +{ pkgs, ... }: { home.packages = with pkgs; [ @@ -31,8 +31,8 @@ # An attribute set that adds to named directory hash table dirHashes = { # QMK Keymaps - crkbd = "$HOME/Github/qmk_keymaps/keyboards/crkbd/keymaps/sajenim"; - kchrn = "$HOME/Github/qmk_keymaps/keyboards/keychron/q4/ansi_v2/keymaps/sajenim"; + crkbd = "$HOME/.github/qmk_keymaps/keyboards/crkbd/keymaps/sajenim"; + kchrn = "$HOME/.github/qmk_keymaps/keyboards/keychron/q4/ansi_v2/keymaps/sajenim"; }; # Install plugins diff --git a/home-manager/sajenim/features/desktop/common/default.nix b/home-manager/sajenim/features/desktop/common/default.nix new file mode 100644 index 0000000..7d59509 --- /dev/null +++ b/home-manager/sajenim/features/desktop/common/default.nix @@ -0,0 +1,7 @@ +{ ... }: + +{ + imports = [ + ./discord + ]; +} diff --git a/home-manager/sajenim/programs/discord/config/custom.css b/home-manager/sajenim/features/desktop/common/discord/config/custom.css similarity index 58% rename from home-manager/sajenim/programs/discord/config/custom.css rename to home-manager/sajenim/features/desktop/common/discord/config/custom.css index 95c1bfa..6f672d3 100644 --- a/home-manager/sajenim/programs/discord/config/custom.css +++ b/home-manager/sajenim/features/desktop/common/discord/config/custom.css @@ -1,5 +1,5 @@ :root { - --font-primary: Fira Code; + --font-primary: Fisa Code; /* Gruvbox Material Dark Hard */ --fg0: #d4be98; @@ -22,6 +22,7 @@ --interactive-normal: var(--grey0); --interactive-active: var(--grey0); --channel-icon: var(--grey0); + --channeltextarea-background: var(--bg0_66); --scrollbar-auto-thumb: var(--grey0); --scrollbar-auto-track: var(--bg1); @@ -33,35 +34,8 @@ --background-secondary: var(--bg0_66); --background-secondary-alt: var(--bg0_33); --background-tertiary: var(--bg1); - --background-message-hover: var(--bg1); - --background-mentioned: var(--bg1); + --background-message-hover: var(--bg0_33); + --background-mentioned: var(--bg0_66); --bg-overlay-selected: var(--bg1); } -/* Message Box */ -.scrollableContainer-15eg7h { - background-color: var(--bg1); -} -.slateTextArea-27tjG0 { - color: var(--grey0); -} - -/* Search Box */ -.search-39IXmY { - display: none; -} - -/* Add a Server + Explore Public Servers */ -.circleIconButton-1VxDrg { - color: var(--grey0); -} -/* Remove: Nitro, Gif, Stickers, Emoji buttons */ -.buttons-uaqb-5 { - display: none; -} - -/* Remove: New Message Bar */ -.newMessagesBar-1hF-9G { - display: none; -} - diff --git a/home-manager/sajenim/programs/discord/default.nix b/home-manager/sajenim/features/desktop/common/discord/default.nix similarity index 70% rename from home-manager/sajenim/programs/discord/default.nix rename to home-manager/sajenim/features/desktop/common/discord/default.nix index 6a86a51..7f58107 100644 --- a/home-manager/sajenim/programs/discord/default.nix +++ b/home-manager/sajenim/features/desktop/common/discord/default.nix @@ -1,4 +1,4 @@ -{ inputs, outputs, lib, config, pkgs, ... }: +{ pkgs, ... }: { nixpkgs.overlays = [ @@ -16,4 +16,9 @@ enable = true; source = ./config/custom.css; }; + + home.persistence."/persist/home/sajenim".directories = [ + ".config/discord" + ".config/BetterDiscord" + ]; } diff --git a/home-manager/sajenim/features/desktop/jade/default.nix b/home-manager/sajenim/features/desktop/jade/default.nix new file mode 100644 index 0000000..e92e298 --- /dev/null +++ b/home-manager/sajenim/features/desktop/jade/default.nix @@ -0,0 +1,33 @@ +{ inputs, pkgs, ... }: + +{ + imports = [ + ./picom.nix + ./rofi.nix + ]; + + home.packages = with pkgs; [ + feh + xmobar + unstable.wezterm + ]; + + home.file = { + ".local/share/fonts" = { + recursive = true; + source = "${inputs.self}/pkgs/patched-fonts"; + }; + ".xinitrc".source = ./xinitrc; + }; + + xdg.configFile = { + wezterm = { source = ./wezterm/config; recursive = true; }; + }; + + xsession.windowManager.xmonad = { + enable = true; + enableContribAndExtras = true; + config = "${inputs.self}/pkgs/xmonad-config/src/xmonad.hs"; + }; +} + diff --git a/home-manager/sajenim/services/picom/default.nix b/home-manager/sajenim/features/desktop/jade/picom.nix similarity index 100% rename from home-manager/sajenim/services/picom/default.nix rename to home-manager/sajenim/features/desktop/jade/picom.nix diff --git a/home-manager/sajenim/features/desktop/jade/rofi.nix b/home-manager/sajenim/features/desktop/jade/rofi.nix new file mode 100644 index 0000000..5a2fe20 --- /dev/null +++ b/home-manager/sajenim/features/desktop/jade/rofi.nix @@ -0,0 +1,9 @@ +{ ... }: + +{ + programs.rofi = { + enable = true; + font = "Fisa Code 10"; + }; +} + diff --git a/home-manager/sajenim/programs/wezterm/config/colors/gruvbox_material_dark_hard.toml b/home-manager/sajenim/features/desktop/jade/wezterm/config/colors/gruvbox_material_dark_hard.toml similarity index 100% rename from home-manager/sajenim/programs/wezterm/config/colors/gruvbox_material_dark_hard.toml rename to home-manager/sajenim/features/desktop/jade/wezterm/config/colors/gruvbox_material_dark_hard.toml diff --git a/home-manager/sajenim/programs/wezterm/config/wezterm.lua b/home-manager/sajenim/features/desktop/jade/wezterm/config/wezterm.lua similarity index 100% rename from home-manager/sajenim/programs/wezterm/config/wezterm.lua rename to home-manager/sajenim/features/desktop/jade/wezterm/config/wezterm.lua diff --git a/home-manager/sajenim/xinitrc b/home-manager/sajenim/features/desktop/jade/xinitrc similarity index 100% rename from home-manager/sajenim/xinitrc rename to home-manager/sajenim/features/desktop/jade/xinitrc diff --git a/home-manager/sajenim/features/games/default.nix b/home-manager/sajenim/features/games/default.nix new file mode 100644 index 0000000..56fc19a --- /dev/null +++ b/home-manager/sajenim/features/games/default.nix @@ -0,0 +1,21 @@ +{ pkgs, ... }: + +{ + imports = [ + ./mangohud.nix + ]; + + home = { + packages = with pkgs; [ + gamemode + protonup-ng + prismlauncher + runelite + ]; + persistence."/persist/home/sajenim" = { + directories = [ + ".runelite" + ]; + }; + }; +} diff --git a/home-manager/sajenim/programs/mangohud/default.nix b/home-manager/sajenim/features/games/mangohud.nix similarity index 100% rename from home-manager/sajenim/programs/mangohud/default.nix rename to home-manager/sajenim/features/games/mangohud.nix diff --git a/home-manager/common/programs/nvim/config/init.lua b/home-manager/sajenim/features/nvim/config/init.lua similarity index 100% rename from home-manager/common/programs/nvim/config/init.lua rename to home-manager/sajenim/features/nvim/config/init.lua diff --git a/home-manager/common/programs/nvim/config/lua/configs/options.lua b/home-manager/sajenim/features/nvim/config/lua/configs/options.lua similarity index 100% rename from home-manager/common/programs/nvim/config/lua/configs/options.lua rename to home-manager/sajenim/features/nvim/config/lua/configs/options.lua diff --git a/home-manager/common/programs/nvim/config/lua/plugins/coding.lua b/home-manager/sajenim/features/nvim/config/lua/plugins/coding.lua similarity index 100% rename from home-manager/common/programs/nvim/config/lua/plugins/coding.lua rename to home-manager/sajenim/features/nvim/config/lua/plugins/coding.lua diff --git a/home-manager/common/programs/nvim/config/lua/plugins/colorscheme.lua b/home-manager/sajenim/features/nvim/config/lua/plugins/colorscheme.lua similarity index 100% rename from home-manager/common/programs/nvim/config/lua/plugins/colorscheme.lua rename to home-manager/sajenim/features/nvim/config/lua/plugins/colorscheme.lua diff --git a/home-manager/common/programs/nvim/config/lua/plugins/editor.lua b/home-manager/sajenim/features/nvim/config/lua/plugins/editor.lua similarity index 83% rename from home-manager/common/programs/nvim/config/lua/plugins/editor.lua rename to home-manager/sajenim/features/nvim/config/lua/plugins/editor.lua index e9478aa..8167b7d 100644 --- a/home-manager/common/programs/nvim/config/lua/plugins/editor.lua +++ b/home-manager/sajenim/features/nvim/config/lua/plugins/editor.lua @@ -81,5 +81,18 @@ return { end, opts = { }, }, + + -- + -- Preview Markdown + -- + { + 'iamcco/markdown-preview.nvim', + cmd = { "MarkdownPreviewToggle", "MarkdownPreview", "MarkdownPreviewStop" }, + build = "cd app && npm install", + init = function () + vim.g.mkdp_filetypes = { "markdown" } + end, + ft = { "markdown" }, + }, } diff --git a/home-manager/common/programs/nvim/config/lua/plugins/ui.lua b/home-manager/sajenim/features/nvim/config/lua/plugins/ui.lua similarity index 100% rename from home-manager/common/programs/nvim/config/lua/plugins/ui.lua rename to home-manager/sajenim/features/nvim/config/lua/plugins/ui.lua diff --git a/home-manager/common/programs/nvim/default.nix b/home-manager/sajenim/features/nvim/default.nix similarity index 72% rename from home-manager/common/programs/nvim/default.nix rename to home-manager/sajenim/features/nvim/default.nix index 6fc5d0f..4d4d090 100644 --- a/home-manager/common/programs/nvim/default.nix +++ b/home-manager/sajenim/features/nvim/default.nix @@ -1,4 +1,4 @@ -{ inputs, outputs, lib, config, pkgs, ... }: +{ pkgs, ... }: { programs.neovim = { @@ -6,13 +6,14 @@ #package = pkgs.neovim-nightly; defaultEditor = true; extraPackages = with pkgs; [ - # Misc - lazygit # Required for nvim-treesitter gcc # Required for telescope.nvim fd ripgrep + # Required for markdown-preview.nvim + nodejs + yarn # Language server packages nil haskell-language-server @@ -20,5 +21,7 @@ ]; }; + home.persistence."/persist/home/sajenim".directories = [ ".local/share/nvim" ]; + xdg.configFile.nvim = { source = ./config; recursive = true; }; } diff --git a/home-manager/sajenim/features/printing/default.nix b/home-manager/sajenim/features/printing/default.nix new file mode 100644 index 0000000..f9bbf92 --- /dev/null +++ b/home-manager/sajenim/features/printing/default.nix @@ -0,0 +1,17 @@ +{ pkgs, ... }: + +{ + home = { + packages = with pkgs; [ + blender + freecad + openscad + prusa-slicer + ]; + persistence."/persist/home/sajenim" = { + directories = [ + ".config/PrusaSlicer" + ]; + }; + }; +} diff --git a/home-manager/sajenim/fuchsia.nix b/home-manager/sajenim/fuchsia.nix new file mode 100644 index 0000000..c409b9c --- /dev/null +++ b/home-manager/sajenim/fuchsia.nix @@ -0,0 +1,48 @@ +{ pkgs, ... }: + +{ + imports = [ + ./global + + ./features/desktop/common + ./features/desktop/jade + + ./features/printing + ./features/games + ]; + + home = { + packages = with pkgs; [ + spotify + jellyfin-media-player + firefox + pulsemixer + # Graphics + gimp + inkscape + krita + # Games + gamemode + protonup-ng + prismlauncher + runelite + # Hardware + libratbag + piper + ]; + persistence."/persist/home/sajenim" = { + directories = [ + ".mozilla" + ".config/Yubico" + "Documents" + "Downloads" + "Games" + "Music" + "Pictures" + "Printer" + "Videos" + ]; + }; + }; +} + diff --git a/home-manager/sajenim/global/default.nix b/home-manager/sajenim/global/default.nix new file mode 100644 index 0000000..908cee3 --- /dev/null +++ b/home-manager/sajenim/global/default.nix @@ -0,0 +1,48 @@ +{ inputs, outputs, ... }: { + imports = [ + inputs.impermanence.nixosModules.home-manager.impermanence + ../features/cli + ../features/nvim + ]; + + nixpkgs = { + overlays = [ + outputs.overlays.additions + outputs.overlays.modifications + outputs.overlays.unstable-packages + ]; + config = { + allowUnfree = true; + allowUnfreePredicate = (_: true); + }; + }; + + programs.home-manager.enable = true; + + home = { + username = "sajenim"; + homeDirectory = "/home/sajenim"; + sessionVariables = { + EDITOR = "nvim"; + }; + + persistence."/persist/home/sajenim" = { + directories = [ + ".backup" + ".github" + ".gnupg" + ".ssh" + + ".local/bin" + ".local/share/nix" + ]; + files = [ + ".zsh_history" + ]; + allowOther = true; + }; + }; + + systemd.user.startServices = "sd-switch"; + home.stateVersion = "22.11"; +} diff --git a/home-manager/sajenim/home.nix b/home-manager/sajenim/home.nix deleted file mode 100644 index cf852ce..0000000 --- a/home-manager/sajenim/home.nix +++ /dev/null @@ -1,148 +0,0 @@ -# This is your home-manager configuration file -# Use this to configure your home environment (it replaces ~/.config/nixpkgs/home.nix) - -{ inputs, outputs, pkgs, ... }: { - # You can import other home-manager modules here - imports = [ - # If you want to use modules your own flake exports (from modules/home-manager): - # outputs.homeManagerModules.example - - # Or modules exported from other flakes (such as nix-colors): - # inputs.nix-colors.homeManagerModules.default - inputs.impermanence.nixosModules.home-manager.impermanence - - # You can also split up your configuration and import pieces of it here: - - # User services - ./services/picom - - # User programs - ./programs/discord - ./programs/mangohud - ./programs/rofi - - # Common programs - ../common/programs/git - ../common/programs/zsh - ../common/programs/nvim - ]; - - nixpkgs = { - # You can add overlays here - overlays = [ - # Add overlays your own flake exports (from overlays and pkgs dir): - outputs.overlays.additions - outputs.overlays.modifications - outputs.overlays.unstable-packages - - # You can also add overlays exported from other flakes: - # inputs.neovim-nightly-overlay.overlays.default - - # Or define it inline, for example: - # (final: prev: { - # hi = final.hello.overrideAttrs (oldAttrs: { - # patches = [ ./change-hello-to-hi.patch ]; - # }); - # }) - ]; - # Configure your nixpkgs instance - config = { - # Disable if you don't want unfree packages - allowUnfree = true; - # Workaround for https://github.com/nix-community/home-manager/issues/2942 - allowUnfreePredicate = (_: true); - }; - }; - - # Enable home-manager - programs = { - home-manager.enable = true; - ssh = { - enable = true; - matchBlocks = { - "viridian" = { - hostname = "192.168.1.102"; - }; - }; - }; - }; - - home = { - # Setup our user environment - username = "sajenim"; - homeDirectory = "/home/sajenim"; - sessionVariables = { - EDITOR = "nvim"; - }; - - # Install some packages - packages = with pkgs; [ - # Stable user programs - feh - gamemode - spotify - prismlauncher - runelite - jellyfin-media-player - xmobar - # Unstable user programs - unstable.wezterm - ]; - - persistence."/persist/home/sajenim" = { - directories = [ - "Documents" - "Downloads" - "Games" - "Music" - "Pictures" - "Printer" - "Videos" - - ".gnupg" - ".ssh" - ".github" - ".mozilla" - ".zsh_history" - ".runelite" - - ".local/bin" - ".local/share/nix" - ".local/share/nvim" - - ".config/discord" - ".config/BetterDiscord" - ".config/PrusaSlicer" - ".config/Yubico" - ]; - allowOther = true; - }; - }; - - # Setup our window manager - xsession.windowManager.xmonad = { - enable = true; - enableContribAndExtras = true; - config = ../../pkgs/xmonad-config/src/xmonad.hs; - }; - - # Copy our personal font collection - home.file.".local/share/fonts" = { - recursive = true; - source = ../common/fonts; - }; - - # Copy some configuration files to $XDG_CONFIG_HOME - xdg.configFile = { - wezterm = { source = ./programs/wezterm/config; recursive = true; }; - }; - - # Setup our desktop environment - home.file.".xinitrc".source = ./xinitrc; - - # Nicely reload system units when changing configs - systemd.user.startServices = "sd-switch"; - - # https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion - home.stateVersion = "22.11"; -} diff --git a/home-manager/sajenim/id_ed25519_sk.pub b/home-manager/sajenim/id_ed25519_sk.pub deleted file mode 100644 index 1c72f0c..0000000 --- a/home-manager/sajenim/id_ed25519_sk.pub +++ /dev/null @@ -1 +0,0 @@ -sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAIN6zrgWQj9NbuZEvqK3r2U9jSJjLotGb8asUkcr+co5sAAAABHNzaDo= sajenim@fuchsia diff --git a/home-manager/sajenim/programs/rofi/default.nix b/home-manager/sajenim/programs/rofi/default.nix deleted file mode 100644 index 8678a0f..0000000 --- a/home-manager/sajenim/programs/rofi/default.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ inputs, outputs, lib, config, pkgs, ... }: - -{ - programs.rofi = { - enable = true; - font = "Fira Code 10"; - }; -} - diff --git a/home-manager/sajenim/sajenim_sk.pub b/home-manager/sajenim/sajenim_sk.pub new file mode 100644 index 0000000..1051deb --- /dev/null +++ b/home-manager/sajenim/sajenim_sk.pub @@ -0,0 +1 @@ +sk-ecdsa-sha2-nistp256@openssh.com AAAAInNrLWVjZHNhLXNoYTItbmlzdHAyNTZAb3BlbnNzaC5jb20AAAAIbmlzdHAyNTYAAABBBAyOgJgJ1d3uNb/sRWp7cN2n6CoJ4zyvf8VklwdwmV8zx0uNipD/HxRKkCEpSR3Ids72i5uSBtEzjAtv9UR5r4IAAAALc3NoOnNhamVuaW0= sajenim@fuchsia diff --git a/home-manager/sajenim/viridian.nix b/home-manager/sajenim/viridian.nix new file mode 100644 index 0000000..d95dabc --- /dev/null +++ b/home-manager/sajenim/viridian.nix @@ -0,0 +1,7 @@ +{ ... }: + +{ + imports = [ + ./global + ]; +}