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 =
"${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.
nixpkgs.config = import ./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!
{ config, lib, pkgs, ... }@attrs:
{ config, lib, pkgs, foodogsquaredLib, ... }@attrs:
let
inherit (foodogsquaredLib.xdg) getXdgDesktop;
userCfg = config.users.foo-dogsquared;
cfg = userCfg.programs.browsers;
@ -95,7 +96,7 @@ in {
{
isDefault = true;
extensions = with pkgs.nur.repos.rycee.firefox-addons;
extensions.packages = with pkgs.nur.repos.rycee.firefox-addons;
[
aw-watcher-web
bitwarden
@ -206,9 +207,9 @@ in {
definedAliases = [ "@np" ];
};
"Bing".metaData.hidden = true;
"Duckduckgo".metaData.hidden = true;
"Google".metaData.alias = "@g";
"bing".metaData.hidden = true;
"duckduckgo".metaData.hidden = true;
"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.
services.bleachbit.cleaners = [
"firefox.backup"
@ -306,7 +310,7 @@ in {
[{ id = "egpjdkipkomnmjhjmdamaniclmdlobbo"; }];
};
in lib.foldl' enableSupportedBrowser { } supportedBrowsers // {
programs.firefox.profiles.personal.extensions =
programs.firefox.profiles.personal.extensions.packages =
with pkgs.nur.repos.rycee.firefox-addons;
[ firenvim ];
}))

View File

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

View File

@ -1,6 +1,8 @@
{ config, lib, pkgs, ... }@attrs:
{ config, lib, pkgs, foodogsquaredLib, ... }@attrs:
let
inherit (foodogsquaredLib.xdg) getXdgDesktop;
userCfg = config.users.foo-dogsquared;
cfg = userCfg.programs.terminal-emulator;
@ -10,16 +12,7 @@ let
'';
hasNixosModuleEnable = attrs.nixosConfig.programs.wezterm.enable or false;
in {
options.users.foo-dogsquared.programs.terminal-emulator.enable =
lib.mkEnableOption "foo-dogsquared's terminal emulator setup";
config = lib.mkIf cfg.enable (lib.mkMerge [
{
# We're just making a version of Wezterm with the default arguments if
# the user has them.
home.packages = let
inherit (pkgs) wezterm hiPrio;
weztermUserDefaultDesktop = pkgs.makeDesktopItem {
name = "org.wezfurlong.wezterm";
desktopName = "WezTerm (user)";
@ -44,7 +37,20 @@ in {
type = "Application";
categories = [ "System" "TerminalEmulator" "Utility" ];
};
in {
options.users.foo-dogsquared.programs.terminal-emulator.enable =
lib.mkEnableOption "foo-dogsquared's terminal emulator setup";
config = lib.mkIf cfg.enable (lib.mkMerge [
{
# We're just making a version of Wezterm with the default arguments if
# the user has them.
home.packages = let
inherit (pkgs) wezterm hiPrio;
in [ wezterm (hiPrio weztermUserDefaultDesktop) weztermTypicalDesktop ];
xdg.autostart.entries =
lib.singleton (getXdgDesktop weztermUserDefaultDesktop "org.wezfurlong.wezterm");
}
(lib.mkIf (!hasNixosModuleEnable) {

View File

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

View File

@ -120,6 +120,9 @@ in {
(lib.mkIf cfg.spotify.enable {
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;
state.ports.spotifyd.value =

View File

@ -1,4 +1,4 @@
{ config, lib, pkgs, ... }:
{ config, lib, pkgs, foodogsquaredLib, ... }:
let
userCfg = config.users.foo-dogsquared;
@ -80,6 +80,9 @@ in {
"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 =
lib.singleton {
url = "http://localhost:${