diff --git a/hosts/denkbrett/configuration.nix b/hosts/denkbrett/configuration.nix
index da56c5d..c217277 100644
--- a/hosts/denkbrett/configuration.nix
+++ b/hosts/denkbrett/configuration.nix
@@ -62,7 +62,6 @@
pkgs.mobile-broadband-provider-info
pkgs.modem-manager-gui
pkgs.wireshark
- pkgs.jetbrains.idea-ultimate
];
# Bootloader.
diff --git a/modules/desktop-legacy/gaming.nix b/modules/desktop-legacy/gaming.nix
index e8b0df4..94f60fa 100644
--- a/modules/desktop-legacy/gaming.nix
+++ b/modules/desktop-legacy/gaming.nix
@@ -17,9 +17,7 @@ with lib;
{ pkgs, ... }:
{
home.packages = with pkgs; [
- lutris
prismlauncher
- wineWowPackages.stable
dxvk_2
vkd3d-proton
];
diff --git a/modules/desktop-legacy/social.nix b/modules/desktop-legacy/social.nix
index dda7fc3..22f80f0 100644
--- a/modules/desktop-legacy/social.nix
+++ b/modules/desktop-legacy/social.nix
@@ -59,7 +59,6 @@ with lib;
mumble
element-desktop
pkgs.evolution-data-server-gtk4
- iamb
deltachat-desktop
];
};
diff --git a/modules/desktop/audio.nix b/modules/desktop/audio.nix
index 2354ae8..acba28b 100644
--- a/modules/desktop/audio.nix
+++ b/modules/desktop/audio.nix
@@ -14,6 +14,6 @@
environment.systemPackages = with pkgs; [
playerctl
pulsemixer
- helvum
+ crosspipe
];
}
diff --git a/modules/desktop/home/browser.nix b/modules/desktop/home/browser.nix
index 932db95..abe1ca1 100644
--- a/modules/desktop/home/browser.nix
+++ b/modules/desktop/home/browser.nix
@@ -17,29 +17,23 @@
};
policies = {
DefaultDownloadDirectory = "\${home}/Downloads";
- Extensions.Install =
- builtins.map (name: "https://addons.mozilla.org/firefox/downloads/latest/${name}")
- [
- "bitwarden-password-manager"
- "darkreader"
- "gruvbox-dark-theme"
- "indie-wiki-buddy"
- "kagi-search-for-firefox"
- "multi-account-containers"
- "privacy-badger17"
- "return-youtube-dislikes"
- "shinigami-eyes"
- "sponsorblock"
- "styl-us"
- "tabby-cat-friend"
- "terms-of-service-didnt-read"
- "torproject-snowflake"
- "tridactyl-vim"
- "ublock-origin"
- "view-page-archive"
- "web-clipper-obsidian"
- "web-scrobbler"
- ];
+ Extensions.Install = map (name: "https://addons.mozilla.org/firefox/downloads/latest/${name}") [
+ "bitwarden-password-manager"
+ "darkreader"
+ "indie-wiki-buddy"
+ "kagi-search-for-firefox"
+ "multi-account-containers"
+ "privacy-badger17"
+ "return-youtube-dislikes"
+ "sponsorblock"
+ "styl-us"
+ "tabby-cat-friend"
+ "torproject-snowflake"
+ "tridactyl-vim"
+ "ublock-origin"
+ "web-clipper-obsidian"
+ "web-scrobbler"
+ ];
Extensions.Uninstall = [
"ddg@search.mozilla.org"
"google@search.mozilla.org"
@@ -180,6 +174,21 @@
icon = "https://lib.rs/favicon.png";
definedAliases = [ "libs" ];
};
+ "gleam packages" = {
+ urls = [
+ {
+ template = "https://packages.gleam.run/";
+ params = [
+ {
+ name = "search";
+ value = "{searchTerms}";
+ }
+ ];
+ }
+ ];
+ icon = "https://packages.gleam.run/static/packages-icon.svg";
+ definedAliases = [ "libs" ];
+ };
"rust docs" = {
urls = [
{
@@ -195,6 +204,16 @@
icon = "https://docs.rs/-/static/favicon.ico";
definedAliases = [ "docs" ];
};
+ "gleam docs direct open" = {
+ urls = [
+ {
+ template = "https://hexdocs.pm/{searchTerms}";
+ }
+ ];
+ definedAliases = [
+ "gd"
+ ];
+ };
"rust docs direct open" = {
urls = [
{
@@ -202,8 +221,7 @@
}
];
definedAliases = [
- "doc"
- "docd"
+ "rd"
];
};
"rust std docs" = {
diff --git a/modules/desktop/home/niri/shaders/arc.frag b/modules/desktop/home/niri/shaders/arc.frag
index 3de5014..91b43cd 100644
--- a/modules/desktop/home/niri/shaders/arc.frag
+++ b/modules/desktop/home/niri/shaders/arc.frag
@@ -1,4 +1,6 @@
+
#define PI 3.14159
+
#define TAU 6.28319
#define WIDTH 3.
diff --git a/modules/desktop/home/terminal.nix b/modules/desktop/home/terminal.nix
index 725a68e..12eee04 100644
--- a/modules/desktop/home/terminal.nix
+++ b/modules/desktop/home/terminal.nix
@@ -4,7 +4,6 @@
enable = true;
font.size = 12;
font.name = "Departure Mono Nerd Font";
- shellIntegration.enableFishIntegration = false;
keybindings = {
"ctrl+shift+n" = "new_os_window_with_cwd";
};
diff --git a/modules/editors/helix/default.nix b/modules/editors/helix/default.nix
index e75c477..99170c7 100644
--- a/modules/editors/helix/default.nix
+++ b/modules/editors/helix/default.nix
@@ -105,6 +105,13 @@
};
};
language = [
+ {
+ name = "gleam";
+ language-servers = [
+ "gleam"
+ "discord-presence-lsp"
+ ];
+ }
{
name = "nu";
language-servers = [
diff --git a/modules/net/hosts.nix b/modules/net/hosts.nix
index 20333f7..c71569c 100644
--- a/modules/net/hosts.nix
+++ b/modules/net/hosts.nix
@@ -1,26 +1,31 @@
-{ ... }:
+{ lib, ... }:
+let
+ domains = [
+ "tiktok.com"
+ "twitter.com"
+ "instagram.com"
+ "facebook.com"
+ "snapchat.com"
+ # "youtube.com"
+
+ "google-analytics.com"
+ "stats.g.doubleclick.net"
+ "googleadservices.com"
+ "googletagmanager.com"
+ "googletagservices.com"
+ "googlesyndication.com"
+ ];
+ prefixes = [
+ "www."
+ ""
+ ];
+in
{
- networking.hosts = {
- "127.0.0.1" = [
- "www.tiktok.com"
- "www.twitter.com"
- "www.instagram.com"
- "www.facebook.com"
- "www.snapchat.com"
-
- "tiktok.com"
- "twitter.com"
- "instagram.com"
- "facebook.com"
- "snapchat.com"
- "lovense.com"
-
- "google-analytics.com"
- "stats.g.doubleclick.net"
- "googleadservices.com"
- "googletagmanager.com"
- "googletagservices.com"
- "googlesyndication.com"
- ];
- };
+ networking.hosts =
+ let
+ withPrefixes = prefixes |> map (prefix: map (domain: prefix + domain) domains) |> lib.flatten;
+ in
+ {
+ "127.0.0.1" = withPrefixes;
+ };
}
diff --git a/modules/shell/btop.nix b/modules/shell/btop.nix
index 39b96dc..8f3c6c5 100644
--- a/modules/shell/btop.nix
+++ b/modules/shell/btop.nix
@@ -1,22 +1,18 @@
-{ ... }:
+{ pkgs, ... }:
{
- home-manager.users.jade =
- { pkgs, ... }:
- {
- programs.btop = {
- enable = true;
- package = pkgs.btop-rocm;
- settings = {
- shown_boxes = "cpu mem net proc gpu0";
- color_theme = "gruvbox_dark";
- vim_keys = true;
- proc_per_core = true;
- proc_filter_kernel = true;
- proc_aggregate = true;
- cpu_graph_upper = "total";
- cpu_graph_lower = "user";
- update_ms = 500;
- };
- };
+ programs.btop = {
+ enable = true;
+ package = pkgs.btop-rocm;
+ settings = {
+ shown_boxes = "cpu mem net proc gpu0";
+ color_theme = "gruvbox_dark";
+ vim_keys = true;
+ proc_per_core = true;
+ proc_filter_kernel = true;
+ proc_aggregate = true;
+ cpu_graph_upper = "total";
+ cpu_graph_lower = "user";
+ update_ms = 500;
};
+ };
}
diff --git a/modules/shell/default.nix b/modules/shell/default.nix
index 8db99b2..101833f 100644
--- a/modules/shell/default.nix
+++ b/modules/shell/default.nix
@@ -1,19 +1,23 @@
{ pkgs, ... }:
{
imports = [
- ./nu.nix
- ./starship.nix
./tty.nix
- ./git.nix
- ./mprocs.nix
- ./btop.nix
./sudo.nix
];
programs.mosh.enable = true;
programs.bat.enable = true;
+ environment.systemPackages = [ pkgs.nushell ];
home-manager.users.jade =
{ ... }:
{
+ imports = [
+ ./btop.nix
+ ./mprocs.nix
+ ./git.nix
+ ./starship.nix
+ ./nu.nix
+ ./elvish.nix
+ ];
programs.broot = {
enable = true;
settings = {
@@ -33,5 +37,6 @@
};
};
- users.defaultUserShell = pkgs.nushell;
+ # TODO: Proper switch
+ users.defaultUserShell = pkgs.elvish;
}
diff --git a/modules/shell/elvish.nix b/modules/shell/elvish.nix
new file mode 100644
index 0000000..832a0b7
--- /dev/null
+++ b/modules/shell/elvish.nix
@@ -0,0 +1,8 @@
+{ ... }:
+{
+ xdg.configFile."elvish" = {
+ recursive = true;
+ executable = true;
+ source = ./elvish;
+ };
+}
diff --git a/modules/shell/elvish/lib/direnv.elv b/modules/shell/elvish/lib/direnv.elv
new file mode 100644
index 0000000..15babb0
--- /dev/null
+++ b/modules/shell/elvish/lib/direnv.elv
@@ -0,0 +1,18 @@
+## hook for direnv
+set @edit:before-readline = $@edit:before-readline {
+ try {
+ var m = [("/nix/store/kv03kmfwkinhv4ar2hvh79jfkm1n5id5-direnv-2.37.1/bin/direnv" export elvish | from-json)]
+ if (> (count $m) 0) {
+ set m = (all $m)
+ keys $m | each { |k|
+ if $m[$k] {
+ set-env $k $m[$k]
+ } else {
+ unset-env $k
+ }
+ }
+ }
+ } catch e {
+ echo $e
+ }
+}
diff --git a/modules/shell/elvish/rc.elv b/modules/shell/elvish/rc.elv
new file mode 100644
index 0000000..6732ffe
--- /dev/null
+++ b/modules/shell/elvish/rc.elv
@@ -0,0 +1,28 @@
+#
+
+fn gnix {|@a| cd ~/nix-configs $@a }
+fn grepo {|@a| cd ~/Documents/repos $@a }
+fn wh {|@a| wormhole-rs $@a }
+
+fn gc {|@a| git commit $@a }
+fn gca {|@a| git commit --all $@a }
+fn gp {|@a| git push $@a }
+fn gl {|@a| git pull $@a }
+fn gs {|@a| git status $@a }
+
+fn cr {|@a| cargo run $@a }
+fn cl {|@a| cargo clippy $@a }
+fn cb {|@a| cargo build $@a }
+fn cch {|@a| cargo check $@a }
+
+fn jb {|@a| just build $@a }
+
+fn px {|@a| pulsemixer $@a }
+
+fn guni {|@a| cd ~/Docs/uni $@a }
+
+fn juts {|@a| just $@a }
+
+#
+
+use direnv
diff --git a/modules/shell/git.nix b/modules/shell/git.nix
index f0315df..fbccfe7 100644
--- a/modules/shell/git.nix
+++ b/modules/shell/git.nix
@@ -5,51 +5,43 @@
...
}:
{
- home-manager.users.jade =
- {
- pkgs,
- config,
- ...
- }:
- {
- programs.git = {
- enable = true;
- settings = {
- user = {
- name = "Schrottkatze";
- email = "git@schrottkatze.de";
- };
- };
- signing = {
- format = "ssh";
- key = lib.mkDefault "${pkgs.writeText "blue_nk3.pub" "SHA256:h7d9+w4uACtz63L/MI7B1oB3fYxh8u+q6bs+SsSTKzY ssh:"}";
- signByDefault = true;
- };
- };
- programs.jujutsu = {
- enable = true;
- settings = {
- user = {
- name = config.programs.git.userName;
- email = config.programs.git.userEmail;
- };
- };
- };
- programs.gitui = {
- enable = true;
- keyConfig = ''
- (
- move_left: Some(( code: Char('h'), modifiers: "")),
- move_right: Some(( code: Char('l'), modifiers: "")),
- move_up: Some(( code: Char('k'), modifiers: "")),
- move_down: Some(( code: Char('j'), modifiers: "")),
-
- stash_open: Some(( code: Char('l'), modifiers: "")),
- open_help: Some(( code: F(1), modifiers: "")),
-
- status_reset_item: Some(( code: Char('U'), modifiers: "SHIFT")),
- )
- '';
+ programs.git = {
+ enable = true;
+ settings = {
+ user = {
+ name = "Schrottkatze";
+ email = "git@schrottkatze.de";
};
};
+ signing = {
+ format = "ssh";
+ key = lib.mkDefault "${pkgs.writeText "blue_nk3.pub" "SHA256:h7d9+w4uACtz63L/MI7B1oB3fYxh8u+q6bs+SsSTKzY ssh:"}";
+ signByDefault = true;
+ };
+ };
+ programs.jujutsu = {
+ enable = true;
+ settings = {
+ user = {
+ name = config.programs.git.userName;
+ email = config.programs.git.userEmail;
+ };
+ };
+ };
+ programs.gitui = {
+ enable = true;
+ keyConfig = ''
+ (
+ move_left: Some(( code: Char('h'), modifiers: "")),
+ move_right: Some(( code: Char('l'), modifiers: "")),
+ move_up: Some(( code: Char('k'), modifiers: "")),
+ move_down: Some(( code: Char('j'), modifiers: "")),
+
+ stash_open: Some(( code: Char('l'), modifiers: "")),
+ open_help: Some(( code: F(1), modifiers: "")),
+
+ status_reset_item: Some(( code: Char('U'), modifiers: "SHIFT")),
+ )
+ '';
+ };
}
diff --git a/modules/shell/mprocs.nix b/modules/shell/mprocs.nix
index 1a7a401..b087fff 100644
--- a/modules/shell/mprocs.nix
+++ b/modules/shell/mprocs.nix
@@ -1,31 +1,23 @@
-{ ... }:
+{ pkgs, ... }:
{
- home-manager.users.jade =
- {
- pkgs,
- lib,
- ...
- }:
- {
- home = {
- packages = [ pkgs.mprocs ];
+ home = {
+ packages = [ pkgs.mprocs ];
+ };
+ xdg.configFile."mprocs/mprocs.yaml" = {
+ text = builtins.toJSON {
+ proc_list_width = 15;
+ keymap_procs = {
+ "" = {
+ c = "toggle-focus";
+ };
};
- xdg.configFile."mprocs/mprocs.yaml" = {
- text = builtins.toJSON {
- proc_list_width = 15;
- keymap_procs = {
- "" = {
- c = "toggle-focus";
- };
- };
- keymap_term = {
- "" = null;
- # Ctrl-m so it doesnt overlap with zellij or helix
- "" = {
- c = "toggle-focus";
- };
- };
+ keymap_term = {
+ "" = null;
+ # Ctrl-m so it doesnt overlap with zellij or helix
+ "" = {
+ c = "toggle-focus";
};
};
};
+ };
}
diff --git a/modules/shell/nu.nix b/modules/shell/nu.nix
index 521a300..bcf3e9e 100644
--- a/modules/shell/nu.nix
+++ b/modules/shell/nu.nix
@@ -1,46 +1,42 @@
-{ config, ... }:
+{ pkgs, ... }:
{
- home-manager.users.jade =
- { pkgs, ... }:
- {
- # Needed for nu_scripts background_task
- services.pueue = {
- enable = true;
- settings = {
- shared = {
- use_unix_socket = true;
- };
- };
+ # Needed for nu_scripts background_task
+ services.pueue = {
+ enable = true;
+ settings = {
+ shared = {
+ use_unix_socket = true;
};
- home.packages = [
- pkgs.pueue
- ];
- home.file."shell-startup" = {
- source = ./nu/shell-startup.nu;
- target = ".config/nushell/shell-startup.nu";
- };
- programs.nushell = {
- enable = true;
- package = config.users.defaultUserShell;
- configFile.source = ./nu/config.nu;
- envFile.source = ./nu/env.nu;
- extraConfig = ''
- plugin add ${pkgs.nushellPlugins.query}/bin/nu_plugin_query;
- plugin add ${pkgs.nushellPlugins.polars}/bin/nu_plugin_polars;
- plugin add ${pkgs.nushellPlugins.formats}/bin/nu_plugin_formats;
-
- plugin use query;
- plugin use polars;
- plugin use formats;
-
- source ${./nu/custom_commands.nu};
- source ${./nu/aliases.nu};
- nu ${./nu/shell-startup.nu};
- '';
- extraEnv = '''';
- };
- # programs.starship.enableNushellIntegration = true;
- programs.carapace.enableNushellIntegration = true;
- programs.direnv.enableNushellIntegration = true;
};
+ };
+ home.packages = [
+ pkgs.pueue
+ ];
+ home.file."shell-startup" = {
+ source = ./nu/shell-startup.nu;
+ target = ".config/nushell/shell-startup.nu";
+ };
+ programs.nushell = {
+ enable = false;
+ # package = config.users.defaultUserShell;
+ configFile.source = ./nu/config.nu;
+ envFile.source = ./nu/env.nu;
+ extraConfig = ''
+ plugin add ${pkgs.nushellPlugins.query}/bin/nu_plugin_query;
+ plugin add ${pkgs.nushellPlugins.polars}/bin/nu_plugin_polars;
+ plugin add ${pkgs.nushellPlugins.formats}/bin/nu_plugin_formats;
+
+ plugin use query;
+ plugin use polars;
+ plugin use formats;
+
+ source ${./nu/custom_commands.nu};
+ source ${./nu/aliases.nu};
+ nu ${./nu/shell-startup.nu};
+ '';
+ extraEnv = "";
+ };
+ # programs.starship.enableNushellIntegration = true;
+ programs.carapace.enableNushellIntegration = true;
+ programs.direnv.enableNushellIntegration = true;
}
diff --git a/modules/shell/nu/aliases.nu b/modules/shell/nu/aliases.nu
index 16ee547..80c4786 100644
--- a/modules/shell/nu/aliases.nu
+++ b/modules/shell/nu/aliases.nu
@@ -1,16 +1,8 @@
-alias gnix = cd ~/nix-configs;
-alias grepo = cd ~/Documents/repos;
-alias wh = wormhole-rs;
alias b = broot;
alias gg = gitui;
alias ga = git add;
-alias gc = git commit;
-alias gca = git commit --all;
-alias gp = git push;
-alias gl = git pull;
-alias gs = git status;
alias clip = xclip -selection c;
alias cr = cargo run;
diff --git a/modules/shell/starship.nix b/modules/shell/starship.nix
index 8cf92c5..04b6df6 100644
--- a/modules/shell/starship.nix
+++ b/modules/shell/starship.nix
@@ -1,44 +1,40 @@
{ ... }:
{
- home-manager.users.jade =
- { pkgs, ... }:
- {
- programs.starship = {
- enable = true;
- enableNushellIntegration = false;
- settings = {
- format = "$all$directory$character";
- character = {
- success_symbol = "[\\$](green)";
- error_symbol = "[X](red)";
- };
- git_branch = {
- format = "\\[[$symbol$branch]($style)\\]";
- symbol = " ";
- };
- git_status = {
- format = "([\\[$all_status$ahead_behind\\]]($style))";
- };
- haskell = {
- format = "\\[[$symbol($version)]($style)\\]";
- symbol = " ";
- };
- cmd_duration = {
- format = "\\[[⏱ $duration]($style)\\]";
- };
- nix_shell = {
- format = "\\[[$symbol$state( \\($name\\))]($style)\\]";
- symbol = " ";
- };
- rust = {
- format = "\\[[$symbol($version)]($style)\\]";
- symbol = " ";
- };
- package = {
- format = "\\[[$symbol$version]($style)\\]";
- symbol = " ";
- };
- };
+ programs.starship = {
+ enable = true;
+ enableNushellIntegration = false;
+ settings = {
+ format = "$all$directory$character";
+ character = {
+ success_symbol = "[\\$](green)";
+ error_symbol = "[X](red)";
+ };
+ git_branch = {
+ format = "\\[[$symbol$branch]($style)\\]";
+ symbol = " ";
+ };
+ git_status = {
+ format = "([\\[$all_status$ahead_behind\\]]($style))";
+ };
+ haskell = {
+ format = "\\[[$symbol($version)]($style)\\]";
+ symbol = " ";
+ };
+ cmd_duration = {
+ format = "\\[[⏱ $duration]($style)\\]";
+ };
+ nix_shell = {
+ format = "\\[[$symbol$state( \\($name\\))]($style)\\]";
+ symbol = " ";
+ };
+ rust = {
+ format = "\\[[$symbol($version)]($style)\\]";
+ symbol = " ";
+ };
+ package = {
+ format = "\\[[$symbol$version]($style)\\]";
+ symbol = " ";
};
};
+ };
}