diff --git a/home/apps/default.nix b/home/apps/default.nix index 11ff8d0..875ab0c 100644 --- a/home/apps/default.nix +++ b/home/apps/default.nix @@ -10,5 +10,6 @@ ./internet ./sync ./terminal + ./development ]; } diff --git a/home/apps/development/default.nix b/home/apps/development/default.nix new file mode 100644 index 0000000..1330d16 --- /dev/null +++ b/home/apps/development/default.nix @@ -0,0 +1,14 @@ +{ + config, + lib, + pkgs, + ... +}: + +{ + imports = [ + ./emacs.nix + ./neovim.nix + ./zed.nix + ]; +} diff --git a/home/apps/development/emacs.nix b/home/apps/development/emacs.nix new file mode 100644 index 0000000..b31b3ad --- /dev/null +++ b/home/apps/development/emacs.nix @@ -0,0 +1,20 @@ +{ +osConfig, +config, +... +}: + +{ +config = { +programs = { +emacs = { +extraConfig = '' +(setq standard-indent 2) +''; +extraPackages = epkgs: [ + +]; +}; +}; +}; +} \ No newline at end of file diff --git a/home/apps/development/emacs.nix~ b/home/apps/development/emacs.nix~ new file mode 100644 index 0000000..b31b3ad --- /dev/null +++ b/home/apps/development/emacs.nix~ @@ -0,0 +1,20 @@ +{ +osConfig, +config, +... +}: + +{ +config = { +programs = { +emacs = { +extraConfig = '' +(setq standard-indent 2) +''; +extraPackages = epkgs: [ + +]; +}; +}; +}; +} \ No newline at end of file diff --git a/home/apps/development/neovim.nix b/home/apps/development/neovim.nix new file mode 100644 index 0000000..ca2120d --- /dev/null +++ b/home/apps/development/neovim.nix @@ -0,0 +1,23 @@ +{ + lib, + config, + osConfig, + inputs, + pkgs, + ... +}: + +{ + config = { + programs = { + neovim = { + plugins = + with pkgs.vimPlugins; + [ + telescope-nvim + ] + ++ [ ]; + }; + }; + }; +} diff --git a/home/apps/development/zed.nix b/home/apps/development/zed.nix new file mode 100644 index 0000000..e81697d --- /dev/null +++ b/home/apps/development/zed.nix @@ -0,0 +1,23 @@ +{ + lib, + config, + osConfig, + inputs, + pkgs, + ... +}: + +{ + config = { + programs = { + zed-editor = { + extensions = [ + "nix" + "toml" + "rust" + "html" + ]; + }; + }; + }; +} diff --git a/home/apps/internet/zen-browser.nix b/home/apps/internet/zen-browser.nix index c49002b..8dc77d8 100644 --- a/home/apps/internet/zen-browser.nix +++ b/home/apps/internet/zen-browser.nix @@ -79,16 +79,16 @@ in SearchEngines = { Default = "kagi"; Add = [ - { - Name = "MartyTF's Series of Tubes"; - URLTemplate = "https://search.marty.tf/?q={searchTerms}"; - IconURL = "https://wiki.nixos.org/favicon.ico"; - Alias = "@sgx"; - } + # { + # Name = "${osConfig.user.userName}'s Series of Tubes"; + # URLTemplate = "https://${osConfig.server.misc.searxng.subdomain}.${osConfig.networking.domain}/?q={searchTerms}"; + # IconURL = "https://docs.searxng.org/_static/searxng-wordmark.svg"; + # Alias = "@sgx"; + # } { Name = "kagi"; URLTemplate = "https://kagi.com/search?q={searchTerms}"; - IconURL = "https://kagi.com/asset/597c5c3/kagi_assets/logos/search.png?v=679b1c5d38deac3ff084fc704aa36694454572a2"; + IconURL = "https://kagi.com/asset/597c5c3/kagi_assets/logos/search.png"; Alias = "@k"; } ]; diff --git a/home/desktop/window-managers/niri.nix b/home/desktop/window-managers/niri.nix index 92f3e61..c1dc698 100644 --- a/home/desktop/window-managers/niri.nix +++ b/home/desktop/window-managers/niri.nix @@ -38,7 +38,7 @@ in accel-profile "flat" accel-speed 0.0 scroll-method "two-finger" - + } mouse { @@ -61,10 +61,11 @@ in binds { //Applications - ${modifier}+${osConfig.keybinds.hotkeys.terminal} hotkey-overlay-title="Open Terminal" { spawn "${osConfig.apps.terminal.binary}";} + ${modifier}+${osConfig.keybinds.hotkeys.terminal} hotkey-overlay-title="Open Terminal" { spawn "${osConfig.apps.terminal.default}";} ${modifier}+${osConfig.keybinds.hotkeys.browser} hotkey-overlay-title="Open Browser" { spawn "${osConfig.apps.internet.browsers.default}";} ${modifier}+${osConfig.keybinds.hotkeys.launcher} hotkey-overlay-title="Open Launcher" { spawn-sh "${nsipc} launcher toggle || walker";} - ${modifier}+Shift+${osConfig.keybinds.hotkeys.editor} hotkey-overlay-title="Open Editor" { spawn "${osConfig.apps.development.editor.default}";} + ${modifier}+Shift+${osConfig.keybinds.hotkeys.editor} hotkey-overlay-title="Open Editor" { spawn-sh "$EDITOR";} + ${modifier}+B hotkey-overlay-title="Open Password Manager" { spawn-sh "rbw unlocked || kitty --class kitty-floating -e rbw unlock; selected=$(rbw list | walker -d); wl-copy $(rbw get \"$selected\"); sleep 30; rbw lock";} //Window Management ${modifier}+Shift+${osConfig.keybinds.hotkeys.close-window} { close-window; } diff --git a/hosts/marty-pc/options.nix b/hosts/marty-pc/options.nix index 72ab183..a38c5d1 100644 --- a/hosts/marty-pc/options.nix +++ b/hosts/marty-pc/options.nix @@ -30,7 +30,7 @@ editor = { vscodium.enable = true; emacs.enable = true; - default = "codium"; + default = "nvim"; }; languages = { python.enable = true; diff --git a/hosts/marty-thinkpad/options.nix b/hosts/marty-thinkpad/options.nix index 9d6dec8..42123ae 100644 --- a/hosts/marty-thinkpad/options.nix +++ b/hosts/marty-thinkpad/options.nix @@ -28,7 +28,9 @@ editor = { vscodium.enable = true; emacs.enable = true; - default = "codium"; + neovim.enable = true; + zed.enable = false; + default = "emacs"; }; languages = { python.enable = true; diff --git a/modules/apps/development/editor.nix b/modules/apps/development/editor.nix index 5187f49..923b775 100644 --- a/modules/apps/development/editor.nix +++ b/modules/apps/development/editor.nix @@ -11,8 +11,10 @@ editor = { vscodium.enable = lib.mkEnableOption "enable vscodium"; emacs.enable = lib.mkEnableOption "enable emacs"; + neovim.enable = lib.mkEnableOption "enable neovim"; + zed.enable = lib.mkEnableOption "enable zed"; default = lib.mkOption { - default = "vscodium"; + default = "neovim"; description = "default editor"; }; }; @@ -24,10 +26,26 @@ with pkgs; [ nixfmt + fd + nil + nixd ] - ++ (if config.apps.development.editor.vscodium.enable then [ vscodium ] else [ ]); + ++ (if config.apps.development.editor.vscodium.enable then [ vscodium ] else [ ]) + ++ (if config.apps.development.editor.zed.enable then [ zed-editor ] else [ ]); programs = { + neovim = + if + config.apps.development.editor.neovim.enable + then + { + enable = true; + defaultEditor = if (config.apps.development.editor.default == "neovim") then true else false; + viAlias = true; + vimAlias = true; + } + else + { }; vscode = if config.apps.development.editor.vscodium.enable then { diff --git a/modules/apps/development/languages.nix b/modules/apps/development/languages.nix index 579a615..6f60e4f 100644 --- a/modules/apps/development/languages.nix +++ b/modules/apps/development/languages.nix @@ -16,7 +16,16 @@ environment.systemPackages = with pkgs; [ + nixd + nil ] - ++ (if config.apps.development.languages.python.enable then [ virtualenv ] else [ ]); + ++ ( + if config.apps.development.languages.python.enable then + [ + virtualenv + ] + else + [ ] + ); }; } diff --git a/modules/apps/messaging/default.nix b/modules/apps/messaging/default.nix index 06519c9..a3f9c0e 100644 --- a/modules/apps/messaging/default.nix +++ b/modules/apps/messaging/default.nix @@ -20,7 +20,15 @@ environment.systemPackages = with pkgs; [ ] - ++ (if config.apps.messaging.element.enable then [ element-desktop ] else [ ]) + ++ ( + if config.apps.messaging.element.enable then + [ + element-desktop + fluffychat + ] + else + [ ] + ) ++ (if config.apps.messaging.signal.enable then [ signal-desktop ] else [ ]); }; } diff --git a/modules/desktop/window-managers/default.nix b/modules/desktop/window-managers/default.nix index 51463b9..431c7c0 100644 --- a/modules/desktop/window-managers/default.nix +++ b/modules/desktop/window-managers/default.nix @@ -41,4 +41,9 @@ ./niri.nix ./sway.nix ]; + config = { + environment.systemPackages = with pkgs; [ + wl-clipboard + ]; + }; }