Compare commits
19 commits
2b20a876cd
...
213e4bb68e
Author | SHA1 | Date | |
---|---|---|---|
213e4bb68e | |||
285cc40c80 | |||
71d72af36c | |||
5b5a6d823b | |||
d948aac059 | |||
5414953f67 | |||
685b8e8cdd | |||
0d629d507f | |||
209015e59f | |||
752e728c75 | |||
9e97d1518e | |||
d3c1433509 | |||
52d5d7a9f7 | |||
baefe19341 | |||
8d431dbd24 | |||
1fb1594946 | |||
52ab394064 | |||
dfd22068bd | |||
9839699d2d |
29 changed files with 512 additions and 164 deletions
|
@ -52,6 +52,8 @@
|
|||
#// services.logind.powerKey = "ignore"; # Disable power button
|
||||
|
||||
home-manager.users.${config.custom.username} = {
|
||||
services.gammastep.settings.general.brightness-night = 0.4;
|
||||
|
||||
# Prevent secondary GPU reset from crashing window manager
|
||||
wayland.windowManager.hyprland.settings = {
|
||||
monitor = [
|
||||
|
|
|
@ -23,16 +23,8 @@ in {
|
|||
# https://github.com/Cryolitia/ryzen_smu/issues/1
|
||||
#// programs.ryzenadj.enable = true;
|
||||
|
||||
services.fw-fanctrl.enable = true;
|
||||
settings.storage.mnt = ["myve"];
|
||||
|
||||
services = {
|
||||
fw-fanctrl.enable = true;
|
||||
|
||||
auto-cpufreq.max = {
|
||||
battery = 3; # GHz
|
||||
#// charger = 3.5; # GHz
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
services.keyd.keyboards.default.settings.main.rightcontrol = "layer(altgr)"; # No Ctrl_R
|
||||
|
@ -49,11 +41,11 @@ in {
|
|||
|
||||
# Fix battery drain with suspend-then-hibernate
|
||||
# https://wiki.archlinux.org/title/Framework_Laptop_13#Suspend-then-hibernate_on_AMD_version
|
||||
#// "rtc_cmos.use_acpi_alarm=1"
|
||||
"rtc_cmos.use_acpi_alarm=1"
|
||||
|
||||
# Force disable display power savings
|
||||
# Force display power savings
|
||||
# https://wiki.archlinux.org/title/Framework_Laptop_13#(AMD)_Washed-out_colors_when_using_power-profiles-daemon_in_power-saver_or_balanced_mode
|
||||
#// "amdgpu.abmlevel=0"
|
||||
"amdgpu.abmlevel=0"
|
||||
|
||||
# Disable AMD scaling driver
|
||||
# https://wiki.archlinux.org/title/CPU_frequency_scaling#amd_pstate
|
||||
|
|
|
@ -38,6 +38,11 @@ in {
|
|||
### Misc
|
||||
wallpaper = mkOption {default = false;};
|
||||
|
||||
browser = {
|
||||
command = mkOption {default = "${config.custom.programs.chromium.package}/bin/google-chrome-stable";};
|
||||
desktop = mkOption {default = "google-chrome.desktop";};
|
||||
};
|
||||
|
||||
font = {
|
||||
emoji = mkOption {default = "Noto Color Emoji";};
|
||||
monospace = mkOption {default = "IosevkaTermSlab NFP Medium";};
|
||||
|
|
|
@ -10,7 +10,6 @@ with lib; let
|
|||
cat = "${pkgs.coreutils}/bin/cat";
|
||||
clipse = "${pkgs.clipse}/bin/clipse";
|
||||
codium = "${config.home-manager.users.${config.custom.username}.programs.vscode.package}/bin/codium";
|
||||
firefox-esr = "${config.home-manager.users.${config.custom.username}.programs.firefox.finalPackage}/bin/firefox-esr";
|
||||
gnome-text-editor = "${pkgs.gnome-text-editor}/bin/gnome-text-editor";
|
||||
hyprctl = "${config.programs.hyprland.package}/bin/hyprctl";
|
||||
hyprlock = "${config.home-manager.users.${config.custom.username}.programs.hyprlock.package}/bin/hyprlock";
|
||||
|
@ -30,6 +29,7 @@ with lib; let
|
|||
onlyoffice-desktopeditors = "${pkgs.onlyoffice-bin}/bin/onlyoffice-desktopeditors --system-title-bar --xdg-desktop-portal";
|
||||
pkill = "${pkgs.procps}/bin/pkill";
|
||||
playerctl = "${pkgs.playerctl}/bin/playerctl";
|
||||
power = config.home-manager.users.${config.custom.username}.home.file.".local/bin/power".source;
|
||||
remote = config.home-manager.users.${config.custom.username}.home.file.".local/bin/remote".source;
|
||||
rofi-rbw = "${pkgs.rofi-rbw}/bin/rofi-rbw";
|
||||
rm = "${pkgs.coreutils}/bin/rm";
|
||||
|
@ -92,8 +92,8 @@ in {
|
|||
# Laptop lid switches
|
||||
# https://wiki.hyprland.org/Configuring/Binds/#switches
|
||||
#?? hyprctl devices
|
||||
(key "switch:off:Lid Switch" null "dpms" "on") # Open
|
||||
(key "switch:on:Lid Switch" null "dpms" "off") # Close
|
||||
#// (key "switch:off:Lid Switch" null "dpms" "on") # Open
|
||||
#// (key "switch:on:Lid Switch" null "dpms" "off") # Close
|
||||
];
|
||||
|
||||
# Mouse binds
|
||||
|
@ -115,6 +115,15 @@ in {
|
|||
(key "XF86MonBrightnessDown" null "exec" "${swayosd-client} --brightness lower") # F7
|
||||
(key "XF86MonBrightnessUp" null "exec" "${swayosd-client} --brightness raise") # F8
|
||||
(key "XF86AudioMedia" null "exec" "${notify-send} test") # F12
|
||||
|
||||
(key "0" "Super" "exec" "${swayosd-client} --output-volume mute-toggle")
|
||||
(key "Minus" "Super" "exec" "${swayosd-client} --output-volume lower")
|
||||
(key "Equal" "Super" "exec" "${swayosd-client} --output-volume raise")
|
||||
(key "Left" "Super" "exec" "${playerctl} previous")
|
||||
(key "Space" "Super" "exec" "${playerctl} play-pause")
|
||||
(key "Right" "Super" "exec" "${playerctl} next")
|
||||
(key "Down" "Super" "exec" "${swayosd-client} --brightness lower")
|
||||
(key "Up" "Super" "exec" "${swayosd-client} --brightness raise")
|
||||
];
|
||||
|
||||
# Release binds
|
||||
|
@ -146,19 +155,16 @@ in {
|
|||
(key "Bracketright" "Super" "splitratio" "+0.1")
|
||||
(key "Bracketright" "Super+Shift" "layoutmsg" "rollprev")
|
||||
(key "Comma" "Super" "layoutmsg" "swapprev")
|
||||
(key "Down" "Super" "exec" "${swayosd-client} --brightness lower")
|
||||
(key "Delete" "Super+Shift" "exec" power)
|
||||
(key "Down" "Super+Shift" "movewindoworgroup" "d")
|
||||
(key "Equal" "Super" "exec" "${swayosd-client} --output-volume raise")
|
||||
(key "Equal" "Super+Shift" "exec" "${zoom} +0.1")
|
||||
(key "Escape" "Super" "togglefloating" null)
|
||||
(key "Escape" "Super+Alt" "exec" "lifx state --color red")
|
||||
(key "Escape" "Super+Shift" "centerwindow" null)
|
||||
(key "Grave" "Super" "togglespecialworkspace" "scratchpad")
|
||||
(key "Grave" "Super+Shift" "movetoworkspacesilent" "special:scratchpad")
|
||||
(key "Left" "Super" "exec" "${playerctl} previous")
|
||||
(key "Left" "Super+Alt" "exec" "${left} --scroll kensington-orbit-wireless-tb-mouse")
|
||||
(key "Left" "Super+Shift" "movewindoworgroup" "l")
|
||||
(key "Minus" "Super" "exec" "${swayosd-client} --output-volume lower")
|
||||
(key "Minus" "Super+Shift" "exec" "${zoom} -0.1")
|
||||
(key "Period" "Super" "layoutmsg" "swapnext")
|
||||
(key "Apostrophe" "Super" "exec" "${screenshot} selection")
|
||||
|
@ -167,7 +173,6 @@ in {
|
|||
(key "Apostrophe" "Super+Alt+Shift" "exec" "${screenshot} display --edit")
|
||||
(key "Return" "Super" "fullscreen" "1") # Maximize
|
||||
(key "Return" "Super+Shift" "fullscreen" "0") # Fullscreen
|
||||
(key "Right" "Super" "exec" "${playerctl} next")
|
||||
(key "Right" "Super+Shift" "movewindoworgroup" "r")
|
||||
(key "Semicolon" "Super" "exec" "${hyprpicker} --autocopy")
|
||||
(key "Semicolon" "Super+Shift" "exec" "${hyprpicker} --autocopy --format rgb")
|
||||
|
@ -188,7 +193,6 @@ in {
|
|||
"--expression '^Picture.in.[Pp]icture$'"
|
||||
"--workspace special:pip"
|
||||
]))
|
||||
(key "Space" "Super" "exec" "${playerctl} play-pause")
|
||||
(key "Space" "Super+Ctrl+Shift" "exec" (with config.custom;
|
||||
concatStringsSep " " [
|
||||
"${window} move"
|
||||
|
@ -200,10 +204,8 @@ in {
|
|||
(key "Tab" "Super" "layoutmsg" "cyclenext")
|
||||
(key "Tab" "Super+Shift" "alterzorder" "top")
|
||||
(key "Tab" "Super+Shift" "cyclenext" "floating")
|
||||
(key "Up" "Super" "exec" "${swayosd-client} --brightness raise")
|
||||
(key "Up" "Super+Shift" "movewindoworgroup" "u")
|
||||
|
||||
(key "0" "Super" "exec" "${swayosd-client} --output-volume mute-toggle")
|
||||
(key "0" "Super+Shift" "exec" zoom)
|
||||
(key "1" "Ctrl+Alt" "exec" "lifx state --brightness 0.01")
|
||||
(key "1" "Super" "workspace" "1")
|
||||
|
@ -235,7 +237,7 @@ in {
|
|||
(key "A" "Ctrl+Alt" "exec" "${waydroid} session stop")
|
||||
(key "A" "Super" "togglespecialworkspace" "android")
|
||||
(key "A" "Super+Shift" "movetoworkspacesilent" "special:android")
|
||||
(key "B" "Super" "exec" firefox-esr)
|
||||
(key "B" "Super" "exec" config.custom.browser.command)
|
||||
(key "C" "Super" "exec" codium)
|
||||
(key "E" "Super" "exec" gnome-text-editor)
|
||||
(key "F" "Super" "exec" "${nautilus} --new-window")
|
||||
|
|
|
@ -179,16 +179,11 @@ in {
|
|||
(class "[Ww]aydroid.*" rules)
|
||||
];
|
||||
browser = rules: [
|
||||
(fields {
|
||||
class = "^chromium-browser$";
|
||||
title = "^(?!Picture.in.[Pp]icture).*$";
|
||||
}
|
||||
rules)
|
||||
(fields {
|
||||
class = "^firefox.*$";
|
||||
title = "^(?!Picture.in.[Pp]icture).*$";
|
||||
}
|
||||
rules)
|
||||
(class "^brave-browser$" rules)
|
||||
(class "^chromium-browser$" rules)
|
||||
(class "^firefox.*$" rules)
|
||||
(class "^google-chrome$" rules)
|
||||
(class "^vivaldi.*$" rules)
|
||||
];
|
||||
clipboard = rules: [
|
||||
(class "clipboard" rules)
|
||||
|
|
|
@ -8,7 +8,6 @@ with lib; let
|
|||
_1password = "${config.programs._1password-gui.package}/bin/1password";
|
||||
audio = config.home-manager.users.${config.custom.username}.home.file.".local/bin/audio".source;
|
||||
clipse = "${pkgs.clipse}/bin/clipse";
|
||||
firefox-esr = "${config.home-manager.users.${config.custom.username}.programs.firefox.finalPackage}/bin/firefox-esr";
|
||||
grep = "${pkgs.gnugrep}/bin/grep";
|
||||
left = config.home-manager.users.${config.custom.username}.home.file.".local/bin/left".source;
|
||||
loupe = "${pkgs.loupe}/bin/loupe";
|
||||
|
@ -74,7 +73,6 @@ in {
|
|||
"${audio} --init" # Enforce audio profile state
|
||||
"${rm} ~/.cache/walker/clipboard.gob" # Clear clipboard history
|
||||
"${_1password} --silent" # Launch password manager in background
|
||||
#// "[group new; tile] ${firefox-esr}"
|
||||
|
||||
# HACK: Launch hidden GTK windows to reduce startup time
|
||||
"[workspace special:hidden silent] ${loupe}"
|
||||
|
@ -161,7 +159,7 @@ in {
|
|||
"col.border_locked_active" = "rgb(d33682)";
|
||||
"col.border_locked_inactive" = "rgba(d3368240)";
|
||||
#// auto_group = false;
|
||||
insert_after_current = false;
|
||||
#// insert_after_current = false;
|
||||
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#groupbar
|
||||
groupbar = {
|
||||
|
|
|
@ -8,7 +8,6 @@ with lib; let
|
|||
audio = "~/.local/bin/audio";
|
||||
clipse = "${pkgs.clipse}/bin/clipse";
|
||||
codium = "${config.home-manager.users.${config.custom.username}.programs.vscode.package}/bin/codium";
|
||||
firefox-esr = "${config.home-manager.users.${config.custom.username}.programs.firefox.finalPackage}/bin/firefox-esr";
|
||||
gnome-text-editor = "${pkgs.gnome-text-editor}/bin/gnome-text-editor";
|
||||
hyprctl = "${config.programs.hyprland.package}/bin/hyprctl";
|
||||
hyprlock = "${config.home-manager.users.${config.custom.username}.programs.hyprlock.package}/bin/hyprlock";
|
||||
|
@ -147,7 +146,7 @@ in {
|
|||
"9+${super}+${shift}" = "move to workspace 9";
|
||||
"a+${super}" = "[con_mark=android] scratchpad show";
|
||||
"a+${super}+${shift}" = "exec ${waydroid} session stop";
|
||||
"b+${super}" = "exec ${firefox-esr}";
|
||||
"b+${super}" = "exec ${config.custom.browser.command}";
|
||||
"backslash+${super}" = "split toggle";
|
||||
"backslash+${super}+${shift}" = "split none";
|
||||
"backspace+${super}" = "focus mode_toggle";
|
||||
|
|
|
@ -99,7 +99,6 @@ in {
|
|||
|
||||
# (once "${rm} ~/.config/qalculate/qalc.dmenu.history") # Clear calc history
|
||||
# (once "${rm} ~/.cache/cliphist/db") # Clear clipboard database
|
||||
# (once firefox-esr)
|
||||
];
|
||||
};
|
||||
|
||||
|
|
|
@ -7,7 +7,11 @@
|
|||
with lib; let
|
||||
cfg = config.custom.programs._1password;
|
||||
in {
|
||||
options.custom.programs._1password.enable = mkOption {default = false;};
|
||||
options.custom.programs._1password = {
|
||||
enable = mkOption {default = false;};
|
||||
agent = mkOption {default = true;};
|
||||
browser = mkOption {default = null;};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
programs = {
|
||||
|
@ -22,5 +26,23 @@ in {
|
|||
polkitPolicyOwners = [config.custom.username]; # Desktop integration
|
||||
};
|
||||
};
|
||||
|
||||
# https://wiki.nixos.org/wiki/1Password#Unlocking_browser_extensions
|
||||
environment.etc = mkIf (isString cfg.browser) {
|
||||
"1password/custom_allowed_browsers" = {
|
||||
mode = "0755";
|
||||
|
||||
text = ''
|
||||
${cfg.browser}
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
home-manager.users.${config.custom.username} = {
|
||||
programs.ssh.extraConfig = mkIf cfg.agent ''
|
||||
Host *
|
||||
IdentityAgent ~/.1password/agent.sock
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,35 +1,309 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
cfg = config.custom.programs.chromium;
|
||||
in {
|
||||
options.custom.programs.chromium.enable = mkOption {default = false;};
|
||||
options.custom.programs.chromium = {
|
||||
enable = mkOption {default = false;};
|
||||
package = mkOption {default = pkgs.google-chrome;};
|
||||
};
|
||||
|
||||
config.home-manager.users.${config.custom.username} = mkIf cfg.enable {
|
||||
config = mkIf cfg.enable {
|
||||
# https://wiki.nixos.org/wiki/Chromium
|
||||
# https://www.chromium.org/chromium-projects
|
||||
programs.chromium = {
|
||||
enable = true;
|
||||
|
||||
commandLineArgs = [
|
||||
"--enable-features=OverlayScrollbar,ChromeRefresh2023,TabGroupsSave,TouchpadOverscrollHistoryNavigation"
|
||||
];
|
||||
# https://chromeenterprise.google/policies/
|
||||
#?? chrome://policy
|
||||
extraOpts = {
|
||||
# HACK: Extensions are force-installed with programs.chromium.extensions option
|
||||
# https://support.google.com/chrome/a/answer/9867568
|
||||
# https://chromeenterprise.google/policies/#ExtensionSettings
|
||||
ExtensionSettings = listToAttrs (map (id: {
|
||||
name = id;
|
||||
value = {
|
||||
installation_mode = "normal_installed";
|
||||
update_url = "https://clients2.google.com/service/update2/crx";
|
||||
};
|
||||
}) (optionals config.custom.default [
|
||||
#// "cjpalhdlnbpafiamejdnhcphjbkeiagm" # uBlock Origin
|
||||
"ddkjiahejlhfcafbddmgiahcphecmpfh" # uBlock Origin Lite
|
||||
]
|
||||
++ optionals config.custom.full [
|
||||
"khgocmkkpikpnmmkgmdnfckapcdkgfaf" # 1Password Beta
|
||||
#// "ajopnjidmegmdimjlfnijceegpefgped" # BetterTTV
|
||||
#// "nngceckbapebfimnlniiiahkandclblb" # Bitwarden
|
||||
#// "enamippconapkdmgfgjchkhakpfinmaj" # DeArrow
|
||||
#// "fnaicdffflnofjppbagibeoednhnbjhg" # floccus
|
||||
#// "bnomihfieiccainjcjblhegjgglakjdd" # Improve YouTube
|
||||
"mnjggcdmjocbbbhaepdhchncahnbgone" # SponsorBlock
|
||||
"clngdbkpkpeebahjckkjfobafhncgmne" # Stylus
|
||||
#// "kfidecgcdjjfpeckbblhmfkhmlgecoff" # Svelte DevTools
|
||||
#// "nplimhmoanghlebhdiboeellhgmgommi" # Tab Groups Extension
|
||||
"enboaomnljigfhfjfoalacienlhjlfil" # UnTrap for YouTube
|
||||
]));
|
||||
|
||||
extensions = [
|
||||
#"ajopnjidmegmdimjlfnijceegpefgped" # BetterTTV
|
||||
#"nngceckbapebfimnlniiiahkandclblb" # Bitwarden
|
||||
#"enamippconapkdmgfgjchkhakpfinmaj" # DeArrow
|
||||
#"fnaicdffflnofjppbagibeoednhnbjhg" # floccus
|
||||
#"bnomihfieiccainjcjblhegjgglakjdd" # Improve YouTube
|
||||
#"mnjggcdmjocbbbhaepdhchncahnbgone" # SponsorBlock
|
||||
#"clngdbkpkpeebahjckkjfobafhncgmne" # Stylus
|
||||
#"kfidecgcdjjfpeckbblhmfkhmlgecoff" # Svelte DevTools
|
||||
#"nplimhmoanghlebhdiboeellhgmgommi" # Tab Groups Extension
|
||||
"ddkjiahejlhfcafbddmgiahcphecmpfh" # uBlock Origin Lite
|
||||
];
|
||||
# https://chromeenterprise.google/policies/#DefaultSearchProvider
|
||||
DefaultSearchProviderEnabled = true;
|
||||
DefaultSearchProviderKeyword = "g";
|
||||
DefaultSearchProviderName = "Google";
|
||||
DefaultSearchProviderSearchURL = "{google:baseURL}search?q={searchTerms}&{google:RLZ}{google:originalQueryForSuggestion}{google:assistedQueryStats}{google:searchFieldtrialParameter}{google:searchClient}{google:sourceId}ie={inputEncoding}";
|
||||
DefaultSearchProviderSuggestURL = "{google:baseURL}complete/search?output=chrome&q={searchTerms}";
|
||||
|
||||
# https://chromeenterprise.google/policies/#SiteSearchSettings
|
||||
SiteSearchSettings = [
|
||||
{
|
||||
name = "Amazon";
|
||||
shortcut = "a";
|
||||
url = "https://www.amazon.com/s?k={searchTerms}";
|
||||
}
|
||||
|
||||
{
|
||||
name = "ArchWiki";
|
||||
shortcut = "aw";
|
||||
url = "https://wiki.archlinux.org/index.php?search={searchTerms}";
|
||||
}
|
||||
|
||||
{
|
||||
name = "Brave";
|
||||
shortcut = "b";
|
||||
url = "https://search.brave.com/search?q={searchTerms}";
|
||||
}
|
||||
|
||||
{
|
||||
name = "DuckDuckGo";
|
||||
shortcut = "d";
|
||||
url = "https://duckduckgo.com/?q={searchTerms}";
|
||||
}
|
||||
|
||||
{
|
||||
name = "Docker Hub";
|
||||
shortcut = "dh";
|
||||
url = "https://hub.docker.com/search?q={searchTerms}";
|
||||
}
|
||||
|
||||
{
|
||||
name = "e621";
|
||||
shortcut = "e";
|
||||
url = "https://e621.net/posts?tags={searchTerms}";
|
||||
}
|
||||
|
||||
{
|
||||
name = "Element Issues";
|
||||
shortcut = "ei";
|
||||
url = "https://github.com/element-hq/element-web/issues?q=is%3Aissue+is%3Aopen+{searchTerms}";
|
||||
}
|
||||
|
||||
{
|
||||
name = "Flathub";
|
||||
shortcut = "fh";
|
||||
url = "https://flathub.org/apps/search?q={searchTerms}";
|
||||
}
|
||||
|
||||
{
|
||||
name = "GitHub";
|
||||
shortcut = "gh";
|
||||
url = "https://github.com/search?q={searchTerms}";
|
||||
}
|
||||
|
||||
{
|
||||
name = "Home Manager Issues";
|
||||
shortcut = "hi";
|
||||
url = "https://github.com/nix-community/home-manager/issues?q=is%3Aissue+is%3Aopen+{searchTerms}";
|
||||
}
|
||||
|
||||
{
|
||||
name = "Home Manager Options";
|
||||
shortcut = "ho";
|
||||
url = "https://home-manager-options.extranix.com/?query={searchTerms}&release=master";
|
||||
}
|
||||
|
||||
{
|
||||
name = "Hyprland Issues";
|
||||
shortcut = "hyi";
|
||||
url = "https://github.com/hyprwm/Hyprland/issues?q=is%3Aissue+is%3Aopen+{searchTerms}";
|
||||
}
|
||||
|
||||
{
|
||||
name = "i3 Issues";
|
||||
shortcut = "ii";
|
||||
url = "https://github.com/i3/i3/issues?q=is%3Aissue+is%3Aopen+{searchTerms}";
|
||||
}
|
||||
|
||||
{
|
||||
name = "Lutris";
|
||||
shortcut = "l";
|
||||
url = "https://lutris.net/games?q={searchTerms}";
|
||||
}
|
||||
|
||||
{
|
||||
name = "Lix Issues";
|
||||
shortcut = "li";
|
||||
url = "https://git.lix.systems/lix-project/lix/issues?state=open&q={searchTerms}";
|
||||
}
|
||||
|
||||
{
|
||||
name = "Mozilla Web Docs";
|
||||
shortcut = "mdn";
|
||||
url = "https://developer.mozilla.org/en-US/search?q={searchTerms}";
|
||||
}
|
||||
|
||||
{
|
||||
name = "MyNixOS Options";
|
||||
shortcut = "mno";
|
||||
url = "https://mynixos.com/search?q=option+{searchTerms}";
|
||||
}
|
||||
|
||||
{
|
||||
name = "Nix Dev";
|
||||
shortcut = "nd";
|
||||
url = "https://nix.dev/manual/nix/latest?search={searchTerms}";
|
||||
}
|
||||
|
||||
{
|
||||
name = "NixOS Flakes";
|
||||
shortcut = "nf";
|
||||
url = "https://search.nixos.org/flakes?channel=unstable&query={searchTerms}";
|
||||
}
|
||||
|
||||
{
|
||||
name = "Nix Hub";
|
||||
shortcut = "nh";
|
||||
url = "https://www.nixhub.io/search?q={searchTerms}";
|
||||
}
|
||||
|
||||
{
|
||||
name = "NixOS Nixpkgs Issues";
|
||||
shortcut = "ni";
|
||||
url = "https://github.com/NixOS/nixpkgs/issues?q=is%3Aissue+is%3Aopen+{searchTerms}";
|
||||
}
|
||||
|
||||
{
|
||||
name = "NixOS Options";
|
||||
shortcut = "no";
|
||||
url = "https://search.nixos.org/options?channel=unstable&query={searchTerms}";
|
||||
}
|
||||
|
||||
{
|
||||
name = "Noogle Dev";
|
||||
shortcut = "nod";
|
||||
url = "https://noogle.dev/q?term={searchTerms}";
|
||||
}
|
||||
|
||||
{
|
||||
name = "NixOS Packages";
|
||||
shortcut = "np";
|
||||
url = "https://search.nixos.org/packages?channel=unstable&query={searchTerms}";
|
||||
}
|
||||
|
||||
{
|
||||
name = "Nix PR";
|
||||
shortcut = "npr";
|
||||
url = "https://nixpk.gs/pr-tracker.html?pr={searchTerms}";
|
||||
}
|
||||
|
||||
{
|
||||
name = "NixOS Wiki";
|
||||
shortcut = "nw";
|
||||
url = "https://wiki.nixos.org/w/index.php?search={searchTerms}";
|
||||
}
|
||||
|
||||
{
|
||||
name = "Piped";
|
||||
shortcut = "p";
|
||||
url = "https://piped.bjork.tech/results?search_query={searchTerms}";
|
||||
}
|
||||
|
||||
{
|
||||
name = "PCGamingWiki";
|
||||
shortcut = "pc";
|
||||
url = "https://www.pcgamingwiki.com/w/index.php?search={searchTerms}";
|
||||
}
|
||||
|
||||
{
|
||||
name = "ProtonDB";
|
||||
shortcut = "pdb";
|
||||
url = "https://www.protondb.com/search?q={searchTerms}";
|
||||
}
|
||||
|
||||
{
|
||||
name = "PyPI";
|
||||
shortcut = "pip";
|
||||
url = "https://pypi.org/search/?q={searchTerms}";
|
||||
}
|
||||
|
||||
{
|
||||
name = "Reddit";
|
||||
shortcut = "r";
|
||||
url = "https://www.google.com/search?q=site%3Areddit.com+{searchTerms}";
|
||||
}
|
||||
|
||||
{
|
||||
name = "SearXNG";
|
||||
shortcut = "s";
|
||||
url = "https://search.bjork.tech/search?q={searchTerms}";
|
||||
}
|
||||
|
||||
{
|
||||
name = "Sway Issues";
|
||||
shortcut = "si";
|
||||
url = "https://github.com/swaywm/sway/issues?q=is%3Aissue+is%3Aopen+{searchTerms}";
|
||||
}
|
||||
|
||||
{
|
||||
name = "Wikipedia";
|
||||
shortcut = "w";
|
||||
url = "https://en.wikipedia.org/w/index.php?search={searchTerms}";
|
||||
}
|
||||
|
||||
{
|
||||
name = "Wolfram Alpha";
|
||||
shortcut = "wa";
|
||||
url = "https://www.wolframalpha.com/input?i={searchTerms}";
|
||||
}
|
||||
|
||||
{
|
||||
name = "Walker Issues";
|
||||
shortcut = "wi";
|
||||
url = "https://github.com/abenz1267/walker/issues?q=is%3Aissue+is%3Aopen+{searchTerms}";
|
||||
}
|
||||
|
||||
{
|
||||
name = "YouTube";
|
||||
shortcut = "y";
|
||||
url = "https://www.youtube.com/results?search_query={searchTerms}";
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
home-manager.users.${config.custom.username} = {
|
||||
programs.chromium = {
|
||||
enable = true;
|
||||
package = cfg.package;
|
||||
|
||||
# https://stackoverflow.com/questions/69363637/how-to-write-argument-for-chrome-chromiums-enable-features-flag
|
||||
#?? https://source.chromium.org/chromium/chromium/src/+/main:chrome/browser/about_flags.cc
|
||||
commandLineArgs = let
|
||||
features = concatStringsSep "," [
|
||||
"OverlayScrollbar"
|
||||
|
||||
# https://wiki.archlinux.org/title/Chromium#Touchpad_Gestures_for_Navigation
|
||||
"TouchpadOverscrollHistoryNavigation"
|
||||
];
|
||||
in
|
||||
[
|
||||
"--enable-features=${features}"
|
||||
]
|
||||
++ optionals (cfg.package.pname == "brave") [
|
||||
"--password-store=auto" # Fix secrets defaulting to kwallet
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -275,13 +275,6 @@ in {
|
|||
URLTemplate = "https://search.brave.com/search?q={searchTerms}";
|
||||
}
|
||||
|
||||
{
|
||||
Name = "Docker Hub";
|
||||
Alias = "dh";
|
||||
IconURL = "https://hub.docker.com/favicon.ico";
|
||||
URLTemplate = "https://hub.docker.com/search?q={searchTerms}";
|
||||
}
|
||||
|
||||
{
|
||||
Name = "Duck";
|
||||
Alias = "d";
|
||||
|
@ -290,6 +283,13 @@ in {
|
|||
SuggestURLTemplate = "https://duckduckgo.com/ac/?type=list&q={searchTerms}";
|
||||
}
|
||||
|
||||
{
|
||||
Name = "Docker Hub";
|
||||
Alias = "dh";
|
||||
IconURL = "https://hub.docker.com/favicon.ico";
|
||||
URLTemplate = "https://hub.docker.com/search?q={searchTerms}";
|
||||
}
|
||||
|
||||
{
|
||||
Name = "e621";
|
||||
Alias = "e";
|
||||
|
@ -311,13 +311,6 @@ in {
|
|||
URLTemplate = "https://flathub.org/apps/search?q={searchTerms}";
|
||||
}
|
||||
|
||||
{
|
||||
Name = "GitHub";
|
||||
Alias = "gh";
|
||||
IconURL = "https://github.com/favicon.ico";
|
||||
URLTemplate = "https://github.com/search?q={searchTerms}";
|
||||
}
|
||||
|
||||
{
|
||||
Name = "Google";
|
||||
Alias = "g";
|
||||
|
@ -326,10 +319,10 @@ in {
|
|||
}
|
||||
|
||||
{
|
||||
Name = "Home Manager Options";
|
||||
Alias = "ho";
|
||||
IconURL = "https://home-manager-options.extranix.com/images/favicon.png";
|
||||
URLTemplate = "https://home-manager-options.extranix.com/?query={searchTerms}&release=master";
|
||||
Name = "GitHub";
|
||||
Alias = "gh";
|
||||
IconURL = "https://github.com/favicon.ico";
|
||||
URLTemplate = "https://github.com/search?q={searchTerms}";
|
||||
}
|
||||
|
||||
{
|
||||
|
@ -339,6 +332,13 @@ in {
|
|||
URLTemplate = "https://github.com/nix-community/home-manager/issues?q=is%3Aissue+is%3Aopen+{searchTerms}";
|
||||
}
|
||||
|
||||
{
|
||||
Name = "Home Manager Options";
|
||||
Alias = "ho";
|
||||
IconURL = "https://home-manager-options.extranix.com/images/favicon.png";
|
||||
URLTemplate = "https://home-manager-options.extranix.com/?query={searchTerms}&release=master";
|
||||
}
|
||||
|
||||
{
|
||||
Name = "Hyprland Issues";
|
||||
Alias = "hyi";
|
||||
|
@ -346,13 +346,6 @@ in {
|
|||
URLTemplate = "https://github.com/hyprwm/Hyprland/issues?q=is%3Aissue+is%3Aopen+{searchTerms}";
|
||||
}
|
||||
|
||||
{
|
||||
Name = "Lix Issues";
|
||||
Alias = "li";
|
||||
IconURL = "https://git.lix.systems/assets/img/favicon.png";
|
||||
URLTemplate = "https://git.lix.systems/lix-project/lix/issues?state=open&q={searchTerms}";
|
||||
}
|
||||
|
||||
{
|
||||
Name = "i3 Issues";
|
||||
Alias = "ii";
|
||||
|
@ -367,6 +360,13 @@ in {
|
|||
URLTemplate = "https://lutris.net/games?q={searchTerms}";
|
||||
}
|
||||
|
||||
{
|
||||
Name = "Lix Issues";
|
||||
Alias = "li";
|
||||
IconURL = "https://git.lix.systems/assets/img/favicon.png";
|
||||
URLTemplate = "https://git.lix.systems/lix-project/lix/issues?state=open&q={searchTerms}";
|
||||
}
|
||||
|
||||
{
|
||||
Name = "Mozilla Web Docs";
|
||||
Alias = "mdn";
|
||||
|
@ -388,19 +388,6 @@ in {
|
|||
URLTemplate = "https://nix.dev/manual/nix/latest?search={searchTerms}";
|
||||
}
|
||||
|
||||
{
|
||||
Name = "Nix Hub";
|
||||
Alias = "nh";
|
||||
IconURL = "https://www.nixhub.io/favicon.ico";
|
||||
URLTemplate = "https://www.nixhub.io/search?q={searchTerms}";
|
||||
}
|
||||
|
||||
{
|
||||
Name = "Nix PR";
|
||||
Alias = "npr";
|
||||
URLTemplate = "https://nixpk.gs/pr-tracker.html?pr={searchTerms}";
|
||||
}
|
||||
|
||||
{
|
||||
Name = "NixOS Flakes";
|
||||
Alias = "nf";
|
||||
|
@ -408,6 +395,13 @@ in {
|
|||
URLTemplate = "https://search.nixos.org/flakes?channel=unstable&query={searchTerms}";
|
||||
}
|
||||
|
||||
{
|
||||
Name = "Nix Hub";
|
||||
Alias = "nh";
|
||||
IconURL = "https://www.nixhub.io/favicon.ico";
|
||||
URLTemplate = "https://www.nixhub.io/search?q={searchTerms}";
|
||||
}
|
||||
|
||||
{
|
||||
Name = "NixOS Nixpkgs Issues";
|
||||
Alias = "ni";
|
||||
|
@ -415,6 +409,12 @@ in {
|
|||
URLTemplate = "https://github.com/NixOS/nixpkgs/issues?q=is%3Aissue+is%3Aopen+{searchTerms}";
|
||||
}
|
||||
|
||||
{
|
||||
Name = "Nix PR";
|
||||
Alias = "npr";
|
||||
URLTemplate = "https://nixpk.gs/pr-tracker.html?pr={searchTerms}";
|
||||
}
|
||||
|
||||
{
|
||||
Name = "NixOS Options";
|
||||
Alias = "no";
|
||||
|
@ -422,6 +422,13 @@ in {
|
|||
URLTemplate = "https://search.nixos.org/options?channel=unstable&query={searchTerms}";
|
||||
}
|
||||
|
||||
{
|
||||
Name = "Noogle Dev";
|
||||
Alias = "nod";
|
||||
IconURL = "https://noogle.dev/favicon.png";
|
||||
URLTemplate = "https://noogle.dev/q?term={searchTerms}";
|
||||
}
|
||||
|
||||
{
|
||||
Name = "NixOS Packages";
|
||||
Alias = "np";
|
||||
|
@ -437,10 +444,10 @@ in {
|
|||
}
|
||||
|
||||
{
|
||||
Name = "Noogle Dev";
|
||||
Alias = "nod";
|
||||
IconURL = "https://noogle.dev/favicon.png";
|
||||
URLTemplate = "https://noogle.dev/q?term={searchTerms}";
|
||||
Name = "Piped";
|
||||
Alias = "p";
|
||||
IconURL = "https://piped.bjork.tech/favicon.ico";
|
||||
URLTemplate = "https://piped.bjork.tech/results?search_query={searchTerms}";
|
||||
}
|
||||
|
||||
{
|
||||
|
@ -450,13 +457,6 @@ in {
|
|||
URLTemplate = "https://www.pcgamingwiki.com/w/index.php?search={searchTerms}";
|
||||
}
|
||||
|
||||
{
|
||||
Name = "Piped";
|
||||
Alias = "p";
|
||||
IconURL = "https://piped.bjork.tech/favicon.ico";
|
||||
URLTemplate = "https://piped.bjork.tech/results?search_query={searchTerms}";
|
||||
}
|
||||
|
||||
{
|
||||
Name = "ProtonDB";
|
||||
Alias = "pdb";
|
||||
|
@ -475,7 +475,7 @@ in {
|
|||
Name = "Reddit";
|
||||
Alias = "r";
|
||||
IconURL = "https://www.redditstatic.com/desktop2x/img/favicon/favicon-96x96.png";
|
||||
URLTemplate = "https://search.brave.com/search?q=site%3Areddit.com+{searchTerms}";
|
||||
URLTemplate = "https://www.google.com/search?q=site%3Areddit.com+{searchTerms}";
|
||||
}
|
||||
|
||||
{
|
||||
|
@ -492,13 +492,6 @@ in {
|
|||
URLTemplate = "https://github.com/swaywm/sway/issues?q=is%3Aissue+is%3Aopen+{searchTerms}";
|
||||
}
|
||||
|
||||
{
|
||||
Name = "Walker Issues";
|
||||
Alias = "wi";
|
||||
IconURL = "https://github.com/favicon.ico";
|
||||
URLTemplate = "https://github.com/abenz1267/walker/issues?q=is%3Aissue+is%3Aopen+{searchTerms}";
|
||||
}
|
||||
|
||||
{
|
||||
Name = "Wikipedia";
|
||||
Alias = "w";
|
||||
|
@ -513,6 +506,13 @@ in {
|
|||
URLTemplate = "https://www.wolframalpha.com/input?i={searchTerms}";
|
||||
}
|
||||
|
||||
{
|
||||
Name = "Walker Issues";
|
||||
Alias = "wi";
|
||||
IconURL = "https://github.com/favicon.ico";
|
||||
URLTemplate = "https://github.com/abenz1267/walker/issues?q=is%3Aissue+is%3Aopen+{searchTerms}";
|
||||
}
|
||||
|
||||
{
|
||||
Name = "YouTube";
|
||||
Alias = "y";
|
||||
|
|
|
@ -16,14 +16,7 @@ in {
|
|||
'';
|
||||
|
||||
home-manager.users.${config.custom.username} = {
|
||||
programs.ssh = {
|
||||
enable = true;
|
||||
|
||||
extraConfig = ''
|
||||
Host *
|
||||
IdentityAgent ~/.1password/agent.sock
|
||||
'';
|
||||
};
|
||||
programs.ssh.enable = true;
|
||||
|
||||
# Work around FHS permissions
|
||||
# https://github.com/nix-community/home-manager/issues/322#issuecomment-1856128020
|
||||
|
|
|
@ -71,8 +71,8 @@ case "$1" in
|
|||
'ho '*)
|
||||
label="Home Manager Options"
|
||||
icon="home"
|
||||
url="https://home-manager-options.extranix.com/?query="
|
||||
query="${1:2}"
|
||||
url="https://home-manager-options.extranix.com/?release=master&query="
|
||||
query="${1:3}"
|
||||
;;
|
||||
'hyi '*)
|
||||
label="Hyprland Issues"
|
||||
|
@ -191,7 +191,7 @@ case "$1" in
|
|||
'r '*)
|
||||
label="Reddit"
|
||||
icon="reddit"
|
||||
url="https://search.brave.com/search?q=site%3Areddit.com+"
|
||||
url="https://www.google.com/search?q=site%3Areddit.com+"
|
||||
query="${1:2}"
|
||||
;;
|
||||
's '*)
|
||||
|
|
|
@ -61,8 +61,6 @@ in {
|
|||
|
||||
# ?? waybar --log-level debug
|
||||
style = ''
|
||||
${readFile ./style.css}
|
||||
|
||||
* {
|
||||
border-radius: 50px;
|
||||
color: #93a1a1;
|
||||
|
@ -74,6 +72,8 @@ in {
|
|||
.horizontal > box {
|
||||
margin: 0 ${toString config.custom.gap}px ${toString config.custom.gap}px;
|
||||
}
|
||||
|
||||
${readFile ./style.css}
|
||||
'';
|
||||
|
||||
### SETTINGS ###
|
||||
|
|
|
@ -13,9 +13,27 @@ label:hover {
|
|||
background: #073642;
|
||||
}
|
||||
|
||||
menu {
|
||||
border-radius: 20px;
|
||||
padding: 4px;
|
||||
}
|
||||
|
||||
menuitem {
|
||||
padding: 4px;
|
||||
}
|
||||
|
||||
menuitem label {
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
tooltip {
|
||||
opacity: 0;
|
||||
/* background: #002b36; */
|
||||
background: #002b36;
|
||||
border-radius: 20px;
|
||||
}
|
||||
|
||||
tooltip label {
|
||||
font-size: 16px;
|
||||
padding: 4px;
|
||||
}
|
||||
|
||||
.active {
|
||||
|
|
|
@ -27,7 +27,7 @@ in {
|
|||
# https://github.com/AdnanHodzic/auto-cpufreq/blob/master/auto-cpufreq.conf-example
|
||||
settings = {
|
||||
battery = {
|
||||
energy_performance_preference = "balance_power";
|
||||
energy_performance_preference = "power";
|
||||
governor = "powersave";
|
||||
platform_profile = "low-power";
|
||||
scaling_max_freq = mkIf (isFloat cfg.max.battery || isInt cfg.max.battery) (builtins.floor (cfg.max.battery * 1000 * 1000)); # KHz
|
||||
|
|
15
options/custom/services/automatic-timezoned.nix
Normal file
15
options/custom/services/automatic-timezoned.nix
Normal file
|
@ -0,0 +1,15 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
cfg = config.custom.services.automatic-timezoned;
|
||||
in {
|
||||
options.custom.services.automatic-timezoned.enable = mkOption {default = false;};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
# https://github.com/maxbrunet/automatic-timezoned
|
||||
services.automatic-timezoned.enable = true;
|
||||
};
|
||||
}
|
|
@ -6,16 +6,18 @@
|
|||
with lib; {
|
||||
config.custom.services = mkMerge [
|
||||
(mkIf config.custom.default {
|
||||
#// automatic-timezoned.enable = true;
|
||||
#// agenix.enable = true;
|
||||
geoclue2.enable = true;
|
||||
#// netbird.enable = true;
|
||||
tailscale.enable = true;
|
||||
tzupdate.enable = true;
|
||||
})
|
||||
|
||||
(mkIf config.custom.minimal {
|
||||
dbus.enable = true;
|
||||
flatpak.enable = true;
|
||||
fwupd.enable = true;
|
||||
geoclue2.enable = true;
|
||||
#// kdeconnect.enable = true;
|
||||
libinput.enable = true;
|
||||
logind.enable = true;
|
||||
|
@ -42,6 +44,7 @@ with lib; {
|
|||
keyd.enable = true;
|
||||
#// mako.enable = true;
|
||||
#// network-manager-applet.enable = true;
|
||||
power-profiles-daemon.enable = true;
|
||||
samba.enable = true;
|
||||
#// swayidle.enable = true;
|
||||
swaync.enable = true;
|
||||
|
|
|
@ -23,7 +23,7 @@ in {
|
|||
# TODO: Add keybinds
|
||||
settings.general = {
|
||||
brightness-day = 1;
|
||||
brightness-night = 0.4;
|
||||
brightness-night = 0.6;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
@ -7,7 +7,10 @@
|
|||
with lib; let
|
||||
cfg = config.custom.services.geoclue2;
|
||||
in {
|
||||
options.custom.services.geoclue2.enable = mkOption {default = false;};
|
||||
options.custom.services.geoclue2 = {
|
||||
enable = mkOption {default = false;};
|
||||
static = mkOption {default = true;};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
age.secrets = let
|
||||
|
@ -17,28 +20,30 @@ in {
|
|||
group = "geoclue";
|
||||
};
|
||||
in {
|
||||
"common/geoclue2/geolocation" = secret "common/geoclue2/geolocation";
|
||||
"common/geoclue2/geolocation" = mkIf cfg.static (secret "common/geoclue2/geolocation");
|
||||
};
|
||||
|
||||
# https://gitlab.freedesktop.org/geoclue/geoclue
|
||||
# FIXME: geoclue2 relies on MLS, which is retired
|
||||
# https://github.com/NixOS/nixpkgs/issues/321121
|
||||
# TODO: Use static source option when merged into unstable
|
||||
# https://github.com/NixOS/nixpkgs/pull/329654
|
||||
services.geoclue2 = {
|
||||
enable = true;
|
||||
|
||||
# Overriden by static source
|
||||
enable3G = false;
|
||||
enableCDMA = false;
|
||||
enableModemGPS = false;
|
||||
enableNmea = false;
|
||||
enableWifi = false;
|
||||
};
|
||||
services.geoclue2 =
|
||||
{
|
||||
enable = true;
|
||||
}
|
||||
// optionalAttrs cfg.static {
|
||||
# TODO: Use static source option when merged into unstable
|
||||
# https://github.com/NixOS/nixpkgs/pull/329654
|
||||
# Overriden by static source
|
||||
enable3G = false;
|
||||
enableCDMA = false;
|
||||
enableModemGPS = false;
|
||||
enableNmea = false;
|
||||
enableWifi = false;
|
||||
};
|
||||
|
||||
# Manually use static source from coordinates
|
||||
# https://github.com/NixOS/nixpkgs/issues/311595#issuecomment-2247989491
|
||||
environment.etc = {
|
||||
environment.etc = mkIf cfg.static {
|
||||
"geolocation".source = config.age.secrets."common/geoclue2/geolocation".path;
|
||||
|
||||
"geoclue/conf.d/00-config.conf".text = ''
|
||||
|
|
|
@ -1,12 +1,18 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
powerprofilesctl = "${pkgs.power-profiles-daemon}/bin/powerprofilesctl";
|
||||
|
||||
cfg = config.custom.services.power-profiles-daemon;
|
||||
in {
|
||||
options.custom.services.power-profiles-daemon.enable = mkOption {default = false;};
|
||||
options.custom.services.power-profiles-daemon = {
|
||||
enable = mkOption {default = false;};
|
||||
auto = mkOption {default = true;};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
# https://gitlab.freedesktop.org/upower/power-profiles-daemon
|
||||
|
@ -14,7 +20,20 @@ in {
|
|||
#?? powerprofilesctl set <performance|balanced|power-saver>
|
||||
services = {
|
||||
power-profiles-daemon.enable = true;
|
||||
tlp.enable = false; # Conflicts with PPD
|
||||
|
||||
#!! Conflicts with power-profiles-daemon
|
||||
auto-cpufreq.enable = false;
|
||||
tlp.enable = false;
|
||||
|
||||
# Switch to power-saver mode when on battery
|
||||
# https://wiki.archlinux.org/title/Power_management#Using_a_script_and_an_udev_rule
|
||||
udev.extraRules = mkIf cfg.auto ''
|
||||
# Battery
|
||||
SUBSYSTEM=="power_supply", ATTR{online}=="0", RUN+="${powerprofilesctl} set power-saver"
|
||||
|
||||
# AC
|
||||
SUBSYSTEM=="power_supply", ATTR{online}=="1", RUN+="${powerprofilesctl} set balanced"
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
15
options/custom/services/tzupdate.nix
Normal file
15
options/custom/services/tzupdate.nix
Normal file
|
@ -0,0 +1,15 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
cfg = config.custom.services.tzupdate;
|
||||
in {
|
||||
options.custom.services.tzupdate.enable = mkOption {default = false;};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
# https://github.com/cdown/tzupdate
|
||||
services.tzupdate.enable = true;
|
||||
};
|
||||
}
|
|
@ -22,9 +22,9 @@ in {
|
|||
# Auto Move Windows
|
||||
"org/gnome/shell/extensions/auto-move-windows" = {
|
||||
application-list = mkArray type.string [
|
||||
"${config.custom.browser.desktop}:1"
|
||||
"codium.desktop:1"
|
||||
"discord.desktop:1"
|
||||
"firefox-esr.desktop:1"
|
||||
"obsidian.desktop:1"
|
||||
"org.telegram.desktop.desktop:1"
|
||||
"signal-desktop.desktop:1"
|
||||
|
|
|
@ -152,7 +152,7 @@ in {
|
|||
"org/gnome/shell" = {
|
||||
favorite-apps = mkArray type.string [
|
||||
"org.gnome.Nautilus.desktop"
|
||||
"firefox-esr.desktop"
|
||||
config.custom.browser.desktop
|
||||
"signal-desktop.desktop"
|
||||
"org.telegram.desktop.desktop"
|
||||
"discord.desktop"
|
||||
|
|
|
@ -9,13 +9,10 @@ in {
|
|||
options.custom.settings.environment = {
|
||||
enable = mkOption {default = false;};
|
||||
builder = mkOption {default = config.custom.full;};
|
||||
timezone = mkOption {default = "America/Chicago";};
|
||||
wayland = mkOption {default = config.custom.minimal;};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
time.timeZone = cfg.timezone;
|
||||
|
||||
# https://wiki.nixos.org/wiki/Cross_Compiling
|
||||
boot.binfmt.emulatedSystems = mkIf cfg.builder ["aarch64-linux"]; # Emulate architecture
|
||||
#// nixpkgs.buildPlatform = "x86_64-linux"; # Binary caches often not available
|
||||
|
@ -32,6 +29,7 @@ in {
|
|||
|
||||
# https://wiki.nixos.org/wiki/Wayland#Electron_and_Chromium
|
||||
NIXOS_OZONE_WL = mkIf cfg.wayland "1";
|
||||
ELECTRON_OZONE_PLATFORM_HINT = mkIf cfg.wayland "auto";
|
||||
};
|
||||
|
||||
shellAliases = {
|
||||
|
|
|
@ -95,6 +95,7 @@ in {
|
|||
gnome-boxes # Virtual machine manager
|
||||
gnome-calculator # Calculator
|
||||
gnome-calendar # Calendar
|
||||
gnome-clocks # Clock
|
||||
gnome-connections # Remote desktop client
|
||||
gnome-disk-utility # Disk formatter
|
||||
gnome-firmware # Firmware updater
|
||||
|
|
|
@ -8,7 +8,6 @@ with lib; let
|
|||
clapper = "com.github.rafostar.Clapper.desktop";
|
||||
decibels = "org.gnome.Decibels.desktop";
|
||||
file-roller = "org.gnome.File Roller.desktop";
|
||||
firefox-esr = "firefox-esr.desktop";
|
||||
font-viewer = "org.gnome.font-viewer.desktop";
|
||||
gnome-text-editor = "org.gnome.TextEditor.desktop";
|
||||
libreoffice = "base.desktop";
|
||||
|
@ -131,8 +130,8 @@ in {
|
|||
"text/x-scss" = gnome-text-editor;
|
||||
"video/mp4" = clapper;
|
||||
"video/x-matroska" = clapper;
|
||||
"x-scheme-handler/http" = firefox-esr;
|
||||
"x-scheme-handler/https" = firefox-esr;
|
||||
"x-scheme-handler/http" = config.custom.browser.desktop;
|
||||
"x-scheme-handler/https" = config.custom.browser.desktop;
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
@ -3,6 +3,5 @@
|
|||
full = true;
|
||||
profile = "desktop";
|
||||
wallpaper = true;
|
||||
services.power-profiles-daemon.enable = true;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -2,11 +2,6 @@
|
|||
custom = {
|
||||
full = true;
|
||||
profile = "desktop"; # Inherit desktop
|
||||
|
||||
services = {
|
||||
#// auto-cpufreq.enable = true;
|
||||
power-profiles-daemon.enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
#!! Rebuild offline - drastically increases initial download and resulting closure size
|
||||
|
|
Loading…
Add table
Reference in a new issue