users/foo-dogsquared: add XDG autostart entries and update several setups config
Some checks failed
Build devcontainers / build-devcontainers (push) Waiting to run
Cache outputs / build-custom-packages (push) Waiting to run
Check flake outputs / check-outputs (push) Waiting to run
Publish every Git push to master to FlakeHub / flakehub-publish (push) Waiting to run
Build personalized bootstrap ISO / build-iso (x86_64-linux) (push) Waiting to run
Build project site / build (push) Waiting to run
Build project site / deploy (push) Blocked by required conditions
Update Firefox addons / update-firefox-addons (push) Has been cancelled

This commit is contained in:
Gabriel Arazas 2025-03-22 10:35:40 +08:00
parent 51f2b966de
commit f62ca9bdc8
No known key found for this signature in database
GPG Key ID: 62104B43D00AA360
7 changed files with 52 additions and 34 deletions

View File

@ -113,6 +113,9 @@ in {
xdg.userDirs.extraConfig.XDG_PROJECTS_DIR = xdg.userDirs.extraConfig.XDG_PROJECTS_DIR =
"${config.home.homeDirectory}/Projects"; "${config.home.homeDirectory}/Projects";
# Only enable autostart inside of NixOS systems.
xdg.autostart.enable = attrs ? nixosConfig;
# Set nixpkgs config both outside and inside of home-manager. # Set nixpkgs config both outside and inside of home-manager.
nixpkgs.config = import ./config/nixpkgs/config.nix; nixpkgs.config = import ./config/nixpkgs/config.nix;
xdg.configFile."nixpkgs/config.nix".source = ./config/nixpkgs/config.nix; xdg.configFile."nixpkgs/config.nix".source = ./config/nixpkgs/config.nix;

View File

@ -1,7 +1,8 @@
# WHOA! Even browsers with extensions can be declarative! # WHOA! Even browsers with extensions can be declarative!
{ config, lib, pkgs, ... }@attrs: { config, lib, pkgs, foodogsquaredLib, ... }@attrs:
let let
inherit (foodogsquaredLib.xdg) getXdgDesktop;
userCfg = config.users.foo-dogsquared; userCfg = config.users.foo-dogsquared;
cfg = userCfg.programs.browsers; cfg = userCfg.programs.browsers;
@ -95,7 +96,7 @@ in {
{ {
isDefault = true; isDefault = true;
extensions = with pkgs.nur.repos.rycee.firefox-addons; extensions.packages = with pkgs.nur.repos.rycee.firefox-addons;
[ [
aw-watcher-web aw-watcher-web
bitwarden bitwarden
@ -206,9 +207,9 @@ in {
definedAliases = [ "@np" ]; definedAliases = [ "@np" ];
}; };
"Bing".metaData.hidden = true; "bing".metaData.hidden = true;
"Duckduckgo".metaData.hidden = true; "duckduckgo".metaData.hidden = true;
"Google".metaData.alias = "@g"; "google".metaData.alias = "@g";
}; };
}; };
} }
@ -263,6 +264,9 @@ in {
]; ];
}; };
xdg.autostart.entries =
lib.singleton (getXdgDesktop config.programs.firefox.package "firefox");
# Configuring Bleachbit for Firefox cleaning. # Configuring Bleachbit for Firefox cleaning.
services.bleachbit.cleaners = [ services.bleachbit.cleaners = [
"firefox.backup" "firefox.backup"
@ -306,7 +310,7 @@ in {
[{ id = "egpjdkipkomnmjhjmdamaniclmdlobbo"; }]; [{ id = "egpjdkipkomnmjhjmdamaniclmdlobbo"; }];
}; };
in lib.foldl' enableSupportedBrowser { } supportedBrowsers // { in lib.foldl' enableSupportedBrowser { } supportedBrowsers // {
programs.firefox.profiles.personal.extensions = programs.firefox.profiles.personal.extensions.packages =
with pkgs.nur.repos.rycee.firefox-addons; with pkgs.nur.repos.rycee.firefox-addons;
[ firenvim ]; [ firenvim ];
})) }))

View File

@ -17,7 +17,6 @@ in {
query query
polars polars
formats formats
highlight
]; ];
extraConfig = '' extraConfig = ''
$env.config = $env.config | merge deep --strategy=append { $env.config = $env.config | merge deep --strategy=append {

View File

@ -1,6 +1,8 @@
{ config, lib, pkgs, ... }@attrs: { config, lib, pkgs, foodogsquaredLib, ... }@attrs:
let let
inherit (foodogsquaredLib.xdg) getXdgDesktop;
userCfg = config.users.foo-dogsquared; userCfg = config.users.foo-dogsquared;
cfg = userCfg.programs.terminal-emulator; cfg = userCfg.programs.terminal-emulator;
@ -10,6 +12,31 @@ let
''; '';
hasNixosModuleEnable = attrs.nixosConfig.programs.wezterm.enable or false; hasNixosModuleEnable = attrs.nixosConfig.programs.wezterm.enable or false;
weztermUserDefaultDesktop = pkgs.makeDesktopItem {
name = "org.wezfurlong.wezterm";
desktopName = "WezTerm (user)";
comment = "Wez's Terminal Emulator";
keywords = [ "shell" "prompt" "command" "commandline" "cmd" ];
icon = "org.wezfurlong.wezterm";
startupWMClass = "org.wezfurlong.wezterm";
tryExec = "wezterm";
exec = "wezterm";
type = "Application";
categories = [ "System" "TerminalEmulator" "Utility" ];
};
weztermTypicalDesktop = pkgs.makeDesktopItem {
name = "wezterm-start";
desktopName = "WezTerm";
comment = "Wez's Terminal Emulator";
keywords = [ "shell" "prompt" "command" "commandline" "cmd" ];
icon = "org.wezfurlong.wezterm";
startupWMClass = "org.wezfurlong.wezterm";
tryExec = "wezterm";
exec = "wezterm start --cwd .";
type = "Application";
categories = [ "System" "TerminalEmulator" "Utility" ];
};
in { in {
options.users.foo-dogsquared.programs.terminal-emulator.enable = options.users.foo-dogsquared.programs.terminal-emulator.enable =
lib.mkEnableOption "foo-dogsquared's terminal emulator setup"; lib.mkEnableOption "foo-dogsquared's terminal emulator setup";
@ -20,31 +47,10 @@ in {
# the user has them. # the user has them.
home.packages = let home.packages = let
inherit (pkgs) wezterm hiPrio; inherit (pkgs) wezterm hiPrio;
weztermUserDefaultDesktop = pkgs.makeDesktopItem {
name = "org.wezfurlong.wezterm";
desktopName = "WezTerm (user)";
comment = "Wez's Terminal Emulator";
keywords = [ "shell" "prompt" "command" "commandline" "cmd" ];
icon = "org.wezfurlong.wezterm";
startupWMClass = "org.wezfurlong.wezterm";
tryExec = "wezterm";
exec = "wezterm";
type = "Application";
categories = [ "System" "TerminalEmulator" "Utility" ];
};
weztermTypicalDesktop = pkgs.makeDesktopItem {
name = "wezterm-start";
desktopName = "WezTerm";
comment = "Wez's Terminal Emulator";
keywords = [ "shell" "prompt" "command" "commandline" "cmd" ];
icon = "org.wezfurlong.wezterm";
startupWMClass = "org.wezfurlong.wezterm";
tryExec = "wezterm";
exec = "wezterm start --cwd .";
type = "Application";
categories = [ "System" "TerminalEmulator" "Utility" ];
};
in [ wezterm (hiPrio weztermUserDefaultDesktop) weztermTypicalDesktop ]; in [ wezterm (hiPrio weztermUserDefaultDesktop) weztermTypicalDesktop ];
xdg.autostart.entries =
lib.singleton (getXdgDesktop weztermUserDefaultDesktop "org.wezfurlong.wezterm");
} }
(lib.mkIf (!hasNixosModuleEnable) { (lib.mkIf (!hasNixosModuleEnable) {

View File

@ -9,7 +9,7 @@ in {
config = lib.mkIf cfg.enable { config = lib.mkIf cfg.enable {
suites.editors.vscode.enable = true; suites.editors.vscode.enable = true;
programs.vscode = { programs.vscode.profiles.default = {
extensions = with pkgs.vscode-extensions; extensions = with pkgs.vscode-extensions;
[ [
# Additional language support. # Additional language support.

View File

@ -120,6 +120,9 @@ in {
(lib.mkIf cfg.spotify.enable { (lib.mkIf cfg.spotify.enable {
home.packages = with pkgs; [ spotify ]; home.packages = with pkgs; [ spotify ];
xdg.autostart.entries =
lib.singleton (foodogsquaredLib.xdg.getXdgDesktop pkgs.spotify "spotify");
sops.secrets."spotify_env" = foodogsquaredLib.sops-nix.getAsOneSecret ./secrets.bin; sops.secrets."spotify_env" = foodogsquaredLib.sops-nix.getAsOneSecret ./secrets.bin;
state.ports.spotifyd.value = state.ports.spotifyd.value =

View File

@ -1,4 +1,4 @@
{ config, lib, pkgs, ... }: { config, lib, pkgs, foodogsquaredLib, ... }:
let let
userCfg = config.users.foo-dogsquared; userCfg = config.users.foo-dogsquared;
@ -80,6 +80,9 @@ in {
"application/vnd.anki" = [ "anki.desktop" ]; "application/vnd.anki" = [ "anki.desktop" ];
}; };
xdg.autostart.entries =
lib.singleton (foodogsquaredLib.xdg.getXdgDesktop pkgs.zotero "zotero");
users.foo-dogsquared.programs.custom-homepage.sections.services.links = users.foo-dogsquared.programs.custom-homepage.sections.services.links =
lib.singleton { lib.singleton {
url = "http://localhost:${ url = "http://localhost:${