diff --git a/common.nix b/common.nix index dafa9d7..3f8212e 100644 --- a/common.nix +++ b/common.nix @@ -45,6 +45,8 @@ with builtins; { htmlq + prusa-slicer + zed-editor wget git neofetch @@ -158,4 +160,10 @@ with builtins; { }; users.defaultUserShell = pkgs.nushell; + + nix.gc = { + automatic = true; + dates = "weekly"; + options = "--delete-older-than 60d"; + }; } diff --git a/modules/desktop-environment/default.nix b/modules/desktop-environment/default.nix index 3e149b8..59206a0 100644 --- a/modules/desktop-environment/default.nix +++ b/modules/desktop-environment/default.nix @@ -4,4 +4,7 @@ ./flatpak.nix ./home ]; + services.upower = { + enable = true; + }; } diff --git a/modules/desktop-environment/home/sway/default.nix b/modules/desktop-environment/home/sway/default.nix index 0aafe8e..3edfb31 100644 --- a/modules/desktop-environment/home/sway/default.nix +++ b/modules/desktop-environment/home/sway/default.nix @@ -7,6 +7,126 @@ programs.wofi.enable = true; programs.swaylock.enable = true; + xdg.portal = { + enable = true; + extraPortals = [pkgs.xdg-desktop-portal-wlr]; + # sway = { + # default = ["wlr"]; + # }; + }; + + services.swayidle = { + enable = true; + events = [ + { + event = "lock"; + command = "swaylock -c 441144"; + } + ]; + }; + + programs.waybar = { + enable = true; + systemd = { + enable = true; + target = "sway-session.target"; + }; + settings = { + infobar = { + layer = "top"; + position = "top"; + modules-left = ["memory" "cpu" "network" "group/bats"]; + modules-center = ["sway/window"]; + modules-right = ["clock"]; + "group/bats" = { + orientation = "inherit"; + modules = ["battery#bat0" "battery#bat1" "upower#headphones"]; + }; + "battery#bat0" = { + adapter = "AC"; + bat = "BAT0"; + interval = 2; + format = "{icon} {capacity}% {time}"; + format-charging = "󱐋 {icon} {capacity}% {time}"; + format-time = "{h}:{m}"; + format-icons = [ + "󰁺" + "󰁻" + "󰁼" + "󰁽" + "󰁾" + "󰁿" + "󰂀" + "󰂁" + "󰂂" + "󰁹" + ]; + tooltip = true; + tooltip-format = "BAT0: {cycles} cycles"; + }; + "battery#bat1" = { + adapter = "AC"; + bat = "BAT1"; + interval = 2; + format = "󱐋 {icon} {capacity}% {time}"; + format-time = "{H}:{M}"; + format-icons = [ + "󰁺" + "󰁻" + "󰁼" + "󰁽" + "󰁾" + "󰁿" + "󰂀" + "󰂁" + "󰂂" + "󰁹" + ]; + tooltip = true; + tooltip-format = "BAT1: {cycles} cycles"; + }; + "upower#headphones" = { + native-path = "/org/bluez/hci0/dev_4C_87_5D_29_B3_76"; + format = "󰋋 {percentage} {time}"; + hide-if-empty = true; + show-icon = false; + }; + }; + interactiveBar = { + layer = "top"; + position = "bottom"; + modules-left = ["sway/workspaces" "sway/mode"]; + modules-center = ["tray"]; + modules-right = ["wlr/taskbar"]; + }; + # mainBar = { + # layer = "top"; + # position = "top"; + # height = 30; + # output = [ + # "eDP-1" + # "HDMI-A-1" + # ]; + # modules-left = ["sway/workspaces" "sway/mode" "wlr/taskbar"]; + # modules-center = ["sway/window" "custom/hello-from-waybar"]; + # modules-right = ["mpd" "custom/mymodule#with-css-id" "temperature"]; + + # "sway/workspaces" = { + # disable-scroll = true; + # all-outputs = true; + # }; + # "custom/hello-from-waybar" = { + # format = "hello {}"; + # max-length = 40; + # interval = "once"; + # exec = pkgs.writeShellScript "hello-from-waybar" '' + # echo "from within waybar" + # ''; + # }; + # }; + }; + }; + wayland.windowManager.sway = { enable = true; systemd = { @@ -43,6 +163,7 @@ xkb_variant = "altgr-intl"; }; }; + bars = []; menu = "wofi -d"; modifier = "Mod4"; keybindings = with { @@ -73,8 +194,8 @@ # "${mod}+Shift+c" = "focus child"; # screenshot # "${mod}+w" = "exec window-screenshot.sh"; - # "${mod}+s" = "exec flameshot gui -c -p $HOME/Pictures/screenshots"; - # "${mod}+a" = "exec flameshot screen -c -p $HOME/Pictures/screenshots"; + "${mod}+s" = "exec flameshot gui -c -p $HOME/Pictures/screenshots"; + "${mod}+a" = "exec flameshot screen -c -p $HOME/Pictures/screenshots"; # "${mod}+t" = "exec ocr-screenshot.sh"; # rofi fuckery @@ -169,7 +290,7 @@ window = { border = 2; - titlebar = true; + titlebar = false; }; }; }; diff --git a/modules/desktop/firefox.nix b/modules/desktop/firefox.nix index 37c5cd6..bd06ae1 100644 --- a/modules/desktop/firefox.nix +++ b/modules/desktop/firefox.nix @@ -251,6 +251,7 @@ "app.shield.optoutstudies.enabled" = false; "app.normandy.enabled" = false; "app.normandy.api_url" = ""; + "dom.private-attribution.submission.enabled" = false; "browser.safebrowsing.malware.enabled" = false; "browser.safebrowsing.phishing.enabled" = false; diff --git a/modules/shell/nu.nix b/modules/shell/nu.nix index f338d7e..88cf0d6 100644 --- a/modules/shell/nu.nix +++ b/modules/shell/nu.nix @@ -22,10 +22,11 @@ package = config.users.defaultUserShell; configFile.source = ../../other/config.nu; envFile.source = ../../other/env.nu; - # extraConfig = '' - # source ${pkgs.nu_scripts}/share/nu_scripts/modules/nix/nix.nu; - # use ${pkgs.nu_scripts}/share/nu_scripts/modules/background_task/job.nu; - # ''; + extraConfig = '' + plugin use ${pkgs.nushellPlugins.query}/bin/nu_plugin_query; + plugin use ${pkgs.nushellPlugins.polars}/bin/nu_plugin_polars; + plugin use ${pkgs.nushellPlugins.formats}/bin/nu_plugin_formats; + ''; }; programs.starship.enableNushellIntegration = true; programs.carapace.enableNushellIntegration = true;