diff options
Diffstat (limited to 'modules/packages')
| -rw-r--r-- | modules/packages/environment.nix | 40 | ||||
| -rw-r--r-- | modules/packages/fastfetch.nix | 92 | ||||
| -rw-r--r-- | modules/packages/fish.nix | 23 | ||||
| -rw-r--r-- | modules/packages/git.nix | 14 | ||||
| -rw-r--r-- | modules/packages/kitty.nix | 81 | ||||
| -rw-r--r-- | modules/packages/nh.nix | 11 | ||||
| -rw-r--r-- | modules/packages/niri/hosts/tiamat.nix | 38 | ||||
| -rw-r--r-- | modules/packages/niri/package.nix | 27 | ||||
| -rw-r--r-- | modules/packages/niri/settings.nix | 24 | ||||
| -rw-r--r-- | modules/packages/nvf/_nvfConfig.nix | 123 | ||||
| -rw-r--r-- | modules/packages/nvf/package.nix | 11 | ||||
| -rw-r--r-- | modules/packages/yazi.nix | 36 | ||||
| -rw-r--r-- | modules/packages/zen-browser.nix | 23 |
13 files changed, 543 insertions, 0 deletions
diff --git a/modules/packages/environment.nix b/modules/packages/environment.nix new file mode 100644 index 0000000..7d692e3 --- /dev/null +++ b/modules/packages/environment.nix @@ -0,0 +1,40 @@ +{ + lib, + inputs, + self, + ... +}: { + perSystem = { + pkgs, + self', + ... + }: { + packages.terminal = (inputs.wrappers.wrapperModules.kitty.apply { + inherit pkgs; + imports = [self.wrapperModules.kitty]; + shell = lib.getExe self'.packages.environment; + }).wrapper; + + packages.environment = inputs.wrappers.lib.wrapPackage { + inherit pkgs; + package = self'.packages.fish; + runtimeInputs = [ + self'.packages.fastfetch + self'.packages.git + self'.packages.neovim + self'.packages.nh + self'.packages.yazi + + pkgs.alejandra + pkgs.bluetui + pkgs.lazygit + pkgs.p7zip + pkgs.rsync + pkgs.speedtest-cli + ]; + env = { + EDITOR = lib.getExe self'.packages.neovim; + }; + }; + }; +} diff --git a/modules/packages/fastfetch.nix b/modules/packages/fastfetch.nix new file mode 100644 index 0000000..400d8ea --- /dev/null +++ b/modules/packages/fastfetch.nix @@ -0,0 +1,92 @@ +{ + self, + inputs, + ... +}: { + flake.wrapperModules.fastfetch = { + config, + lib, + ... + }: { + settings = { + logo = { + source = config.pkgs.writeText "tree" '' + * * + * * * + * * * * * + * * * * * + * * * * * * * + * * * * * .# * * + * * * #. .# * * + * "#. #: #" * * * + * * * "#. ##" * + * "### + "## + ##. + .##: + :### + ;### + ,####. + /\/\/\/\/\/.######.\/\/\/\/\ + ''; # ascii art by Joan G. Stark + padding = { + right = 2; + left = 1; + top = 2; + }; + color = { + "1" = "bright_green"; + }; + }; + + display = { + color = "bright_green"; + }; + + modules = [ + "title" + "separator" + { + type = "datetime"; + key = "Date"; + format = "{weekday}, {year}-{month-pretty}-{day-pretty}"; + } + { + type = "datetime"; + key = "Time"; + format = "{hour-pretty}:{minute-pretty}:{second-pretty}, {timezone-name}, UTC{offset-from-utc}"; + } + "uptime" + { + type = "battery"; + key = "Battery"; + format = "{capacity}, {time-formatted} [{status}]"; + } + "separator" + "os" + "host" + "kernel" + "packages" + "shell" + "display" + "wm" + "separator" + "cpu" + "gpu" + "memory" + "swap" + "disk" + "localip" + "break" + "colors" + ]; + }; + }; + + perSystem = {pkgs, ...}: { + packages.fastfetch = inputs.wrapper-modules.wrappers.fastfetch.wrap { + inherit pkgs; + imports = [self.wrapperModules.fastfetch]; + }; + }; +} diff --git a/modules/packages/fish.nix b/modules/packages/fish.nix new file mode 100644 index 0000000..8df609d --- /dev/null +++ b/modules/packages/fish.nix @@ -0,0 +1,23 @@ +{ + inputs, + lib, + ... +}: { + perSystem = {pkgs, ...}: let + fishConf = pkgs.writeText "fishConf" '' + function fish_greeting + ${lib.getExe pkgs.fastfetch} + end + + fish_vi_key_bindings + ''; + in { + packages.fish = inputs.wrappers.lib.wrapPackage { + inherit pkgs; + package = pkgs.fish; + flags = { + "-C" = "source ${fishConf}"; + }; + }; + }; +} diff --git a/modules/packages/git.nix b/modules/packages/git.nix new file mode 100644 index 0000000..3b586db --- /dev/null +++ b/modules/packages/git.nix @@ -0,0 +1,14 @@ +{inputs, ...}: { + perSystem = {pkgs, ...}: { + packages.git = inputs.wrappers.lib.wrapPackage { + inherit pkgs; + package = pkgs.git; + env = rec { + GIT_AUTHOR_NAME = "scouckel"; + GIT_AUTHOR_EMAIL = "james.krinsky@gmail.com"; + GIT_COMMITTER_NAME = GIT_AUTHOR_NAME; + GIT_COMMITTER_EMAIL = GIT_AUTHOR_EMAIL; + }; + }; + }; +} diff --git a/modules/packages/kitty.nix b/modules/packages/kitty.nix new file mode 100644 index 0000000..4e204ad --- /dev/null +++ b/modules/packages/kitty.nix @@ -0,0 +1,81 @@ +{ + self, + inputs, + ... +}: { + flake.wrapperModules.kitty = { + config, + lib, + ... + }: { + options.shell = lib.mkOption { + type = lib.types.str; + default = ""; + }; + config.args = lib.mkAfter (lib.optionals (config.shell != "") [config.shell]); + config.settings = { + font_size = 10; + font_family = "JetBrainsMono Nerd Font"; + + shell_integration = "enabled"; + allow_remote_control = "yes"; + + # Gruvbox Material Dark Hard + background = "#1d2021"; + foreground = "#d4be98"; + + selection_background = "#d4be98"; + selection_foreground = "#1d2021"; + + cursor = "#a89984"; + cursor_text_color = "background"; + + # Black + color0 = "#665c54"; + color8 = "#928374"; + + # Red + color1 = "#ea6962"; + color9 = "#ea6962"; + + # Green + color2 = "#a9b665"; + color10 = "#a9b665"; + + # Yellow + color3 = "#e78a4e"; + color11 = "#d8a657"; + + # Blue + color4 = "#7daea3"; + color12 = "#7daea3"; + + # Magenta + color5 = "#d3869b"; + color13 = "#d3869b"; + + # Cyan + color6 = "#89b482"; + color14 = "#89b482"; + + # White + color7 = "#d4be98"; + color15 = "#d4be98"; + + # START_AUTOGENERATED_TAB_STYLE + # Feel free to update these colors manually and remove these comments. + active_tab_foreground = "#444444"; + active_tab_background = "#d4be98"; + inactive_tab_foreground = "#d4be98"; + inactive_tab_background = "#171a1a"; + }; + }; + + perSystem = {pkgs, ...}: { + packages.kitty = + (inputs.wrappers.wrapperModules.kitty.apply { + inherit pkgs; + imports = [self.wrapperModules.kitty]; + }).wrapper; + }; +} diff --git a/modules/packages/nh.nix b/modules/packages/nh.nix new file mode 100644 index 0000000..b867ed1 --- /dev/null +++ b/modules/packages/nh.nix @@ -0,0 +1,11 @@ +{inputs, ...}: { + perSystem = {pkgs, ...}: { + packages.nh = inputs.wrappers.lib.wrapPackage { + inherit pkgs; + package = pkgs.nh; + env = { + "NH_FLAKE" = "/home/jck/nixosconf"; + }; + }; + }; +} diff --git a/modules/packages/niri/hosts/tiamat.nix b/modules/packages/niri/hosts/tiamat.nix new file mode 100644 index 0000000..5e5b466 --- /dev/null +++ b/modules/packages/niri/hosts/tiamat.nix @@ -0,0 +1,38 @@ +{ + self, + inputs, + ... +}: { + flake.nixosModules.tiamatNiri = { + pkgs, + lib, + config, + ... + }: { + programs.niri = { + enable = true; + package = self.packages."x86_64-linux".tiamatNiri; + }; + }; + + perSystem = { + pkgs, + lib, + ... + }: { + packages.tiamatNiri = inputs.wrapper-modules.wrappers.niri.wrap { + inherit pkgs; + imports = [ + self.wrapperModules.niri + { + config.settings.extraConfig = '' + output "eDP-1" { + mode "2880x1920@120" + scale 1.67 + } + ''; + } + ]; + }; + }; +} diff --git a/modules/packages/niri/package.nix b/modules/packages/niri/package.nix new file mode 100644 index 0000000..6b90f08 --- /dev/null +++ b/modules/packages/niri/package.nix @@ -0,0 +1,27 @@ +{ + self, + inputs, + ... +}: { + flake.nixosModules.niri = { + config, + lib, + pkgs, + ... + }: { + programs.niri = { + enable = true; + package = self.packages.${config.pkgs.stdenv.hostPlatform.system}.niri; + }; + }; + + perSystem = { + pkgs, + ... + }: { + packages.niri = inputs.wrapper-modules.wrappers.niri.wrap { + inherit pkgs; + imports = [self.wrapperModules.niri]; + }; + }; +} diff --git a/modules/packages/niri/settings.nix b/modules/packages/niri/settings.nix new file mode 100644 index 0000000..43b4be3 --- /dev/null +++ b/modules/packages/niri/settings.nix @@ -0,0 +1,24 @@ +{inputs, self, ...}: { + flake.wrapperModules.niri = {lib, config, pkgs, ...}: { + settings = { + input = { + keyboard = { + xkb = { + layout = "us"; + }; + }; + }; + + layout.gaps = 2; + + xwayland-satellite.path = lib.getExe config.pkgs.xwayland-satellite; + + binds = { + "Mod+F1".spawn = "${lib.getExe pkgs.rofi} -show drun"; + "Mod+F2".spawn = lib.getExe self.packages.${config.pkgs.stdenv.hostPlatform.system}.terminal; + "Mod+F3".spawn = "${lib.getExe self.packages.${config.pkgs.stdenv.hostPlatform.system}.terminal} yazi"; + "Mod+F4".close-window = {}; + }; + }; + }; +} diff --git a/modules/packages/nvf/_nvfConfig.nix b/modules/packages/nvf/_nvfConfig.nix new file mode 100644 index 0000000..2746966 --- /dev/null +++ b/modules/packages/nvf/_nvfConfig.nix @@ -0,0 +1,123 @@ +{ pkgs, lib, ... }: { + config.vim = { + viAlias = true; + vimAlias = true; + + lineNumberMode = "relNumber"; + + options = { + tabstop = lib.mkDefault 2; + shiftwidth = 0; + termguicolors = true; + }; + + keymaps = [ + { + key = "<leader>w"; + mode = "n"; + silent = true; + action = ":w<CR>"; + } + { + key = "<leader>x"; + mode = "n"; + silent = true; + action = ":wq<CR>"; + } + { + key = "<leader>q"; + mode = "n"; + silent = true; + action = ":q<CR>"; + } + { + key = "<leader>Q"; + mode = "n"; + silent = true; + action = ":q!<CR>"; + } + { + key = "<leader>ff"; + mode = "n"; + silent = true; + action = ":Telescope find_files<CR>"; + } + { + key = "<C-d>"; + mode = "n"; + silent = true; + action = "<C-d>zz"; + } + { + key = "<C-u>"; + mode = "n"; + silent = true; + action = "<C-u>zz"; + } + { + key = "<leader>n"; + mode = "n"; + silent = true; + action = ":noh<CR>"; + } + ]; + + lsp = { + enable = true; + + servers.nixd.settings.nil.nix.autoArchive = true; + }; + + languages = { + enableTreesitter = true; + + nix.enable = true; + clang.enable = true; + rust.enable = true; + ruby.enable = true; + java.enable = true; + }; + + treesitter = { + enable = true; + # context.enable = true; + highlight.enable = true; + }; + + telescope.enable = true; + + utility = { + motion = { + # hop.enable = true; + # leap.enable = true; + precognition.enable = true; + }; + }; + + visuals = { + rainbow-delimiters.enable = true; + }; + + extraPlugins = { + gruvbox-material = { + package = pkgs.vimPlugins.gruvbox-material; + setup = '' + vim.o.background = "dark" + vim.g.gruvbox_material_background = "hard" + vim.cmd("colorscheme gruvbox-material") + ''; + }; + }; + + autocmds = [ + { + event = [ "InsertEnter" ]; + command = "set norelativenumber"; + } + { + event = [ "InsertLeave" ]; + command = "set relativenumber"; + } + ]; + }; +} diff --git a/modules/packages/nvf/package.nix b/modules/packages/nvf/package.nix new file mode 100644 index 0000000..8189d29 --- /dev/null +++ b/modules/packages/nvf/package.nix @@ -0,0 +1,11 @@ +{ + inputs, + ... +}: { + perSystem = {pkgs, ...}: { + packages.neovim = (inputs.nvf.lib.neovimConfiguration { + inherit pkgs; + modules = [ ./_nvfConfig.nix ]; + }).neovim; + }; +} diff --git a/modules/packages/yazi.nix b/modules/packages/yazi.nix new file mode 100644 index 0000000..2068a08 --- /dev/null +++ b/modules/packages/yazi.nix @@ -0,0 +1,36 @@ +{ + self, + inputs, + ... +}: { + flake.wrapperModules.yazi = { + config, + lib, + pkgs, + ... + }: { + settings = { + yazi = { + mgr = { + show_hidden = true; + }; + + opener = { + edit = [ + { + run = ''${lib.getExe self.packages.${config.pkgs.stdenv.hostPlatform.system}.neovim} "$@"''; + block = true; + } + ]; + }; + }; + }; + }; + + perSystem = {pkgs, ...}: { + packages.yazi = inputs.wrapper-modules.wrappers.yazi.wrap { + inherit pkgs; + imports = [self.wrapperModules.yazi]; + }; + }; +} diff --git a/modules/packages/zen-browser.nix b/modules/packages/zen-browser.nix new file mode 100644 index 0000000..50768ff --- /dev/null +++ b/modules/packages/zen-browser.nix @@ -0,0 +1,23 @@ +{ inputs, ... }: { + perSystem = { system, ... }: { + packages.zen-browser = inputs.zen-browser.packages.${system}.twilight.unwrapped.override { + policies = { + AutofillAddressEnabled = true; + AutofillCreditCardEnabled = false; + DisableFeedbackCommands = true; + DisableFirefoxStudies = true; + DisablePocket = true; + DisableTelemetry = true; + DontCheckDefaultBrowser = true; + NoDefaultBookmarks = true; + OfferToSaveLogins = false; + EnableTrackingProtection = { + Value = true; + Locked = true; + Cryptomining = true; + Fingerprinting = true; + }; + }; + }; + }; +} |
