Modularize stuff better
This commit is contained in:
parent
5b92ddde89
commit
d427be6e4a
20 changed files with 417 additions and 321 deletions
|
@ -11,7 +11,8 @@
|
|||
./firefox
|
||||
./tidal.nix
|
||||
./gnome.nix
|
||||
./gnome.nix
|
||||
./syncthing.nix
|
||||
./vscode.nix
|
||||
inputs.sops-nix.homeManagerModules.sops
|
||||
inputs.nix-index-database.hmModules.nix-index
|
||||
];
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: let
|
||||
firefoxAddons = import ./addons.nix pkgs lib;
|
||||
|
@ -17,8 +18,11 @@
|
|||
"browser.newtabpage.activity-stream.showSponsored" = false;
|
||||
"browser.newtabpage.activity-stream.showSponsoredTopSites" = false;
|
||||
};
|
||||
cfg = config.pim.firefox;
|
||||
in {
|
||||
config = {
|
||||
options.pim.firefox.enable = lib.mkEnableOption "firefox";
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
programs.firefox = {
|
||||
enable = true;
|
||||
profiles = {
|
||||
|
|
|
@ -4,85 +4,91 @@
|
|||
flake,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
home.packages = with pkgs; [gnome.gnome-tweaks];
|
||||
}: let
|
||||
cfg = config.pim.gnome;
|
||||
in {
|
||||
options.pim.gnome.enable = lib.mkEnableOption "gnome";
|
||||
|
||||
dconf.settings = with lib.hm.gvariant; {
|
||||
"org/gnome/desktop/sound".allow-volume-above-100-percent = true;
|
||||
"org/gnome/desktop/wm.preferences".num-workspaces = 4;
|
||||
"org/gnome/mutter".edge-tiling = true;
|
||||
config = lib.mkIf cfg.enable {
|
||||
home.packages = with pkgs; [gnome.gnome-tweaks];
|
||||
|
||||
"org/gnome/shell" = {
|
||||
disable-extension-version-validation = true;
|
||||
dconf.settings = with lib.hm.gvariant; {
|
||||
"org/gnome/desktop/sound".allow-volume-above-100-percent = true;
|
||||
"org/gnome/desktop/wm.preferences".num-workspaces = 4;
|
||||
"org/gnome/mutter".edge-tiling = true;
|
||||
|
||||
enabled-extensions = [
|
||||
"workspaces-by-open-apps@favo02.github.com"
|
||||
"pop-shell@system76.com"
|
||||
"windowIsReady_Remover@nunofarruca@gmail.com"
|
||||
"randomwallpaper@iflow.space"
|
||||
"Vitals@CoreCoding.com"
|
||||
"tailscale-status@maxgallup.github.com"
|
||||
];
|
||||
"org/gnome/shell" = {
|
||||
disable-extension-version-validation = true;
|
||||
|
||||
enabled-extensions = [
|
||||
"workspaces-by-open-apps@favo02.github.com"
|
||||
"pop-shell@system76.com"
|
||||
"windowIsReady_Remover@nunofarruca@gmail.com"
|
||||
"randomwallpaper@iflow.space"
|
||||
"Vitals@CoreCoding.com"
|
||||
"tailscale-status@maxgallup.github.com"
|
||||
];
|
||||
};
|
||||
|
||||
"org/gnome/desktop/input-sources" = {
|
||||
sources = [(mkTuple ["xkb" "us"])];
|
||||
xkb-options = ["terminate:ctrl_alt_bksp" "caps:escape"];
|
||||
};
|
||||
|
||||
"org/gnome/shell/extensions/pop-shell" = {
|
||||
active-hint = true;
|
||||
fullscreen-launcher = false;
|
||||
mouse-cursor-focus-location = mkUint32 4;
|
||||
mouse-cursor-follows-active-window = true;
|
||||
show-skip-taskbar = false;
|
||||
show-title = true;
|
||||
smart-gaps = false;
|
||||
snap-to-grid = false;
|
||||
stacking-with-mouse = true;
|
||||
tile-by-default = true;
|
||||
};
|
||||
|
||||
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0" = {
|
||||
binding = "<Super>t";
|
||||
command = lib.getExe config.programs.alacritty.package;
|
||||
name = "Terminal";
|
||||
};
|
||||
|
||||
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1" = {
|
||||
binding = "<Super>e";
|
||||
command = "${lib.getExe config.programs.librewolf.package} --browser";
|
||||
name = "Browser";
|
||||
};
|
||||
|
||||
"org/gnome/desktop/wm/keybindings" = {
|
||||
close = ["<Shift><Super>q"];
|
||||
minimize = mkEmptyArray type.string;
|
||||
move-to-workspace-1 = ["<Shift><Super>1"];
|
||||
move-to-workspace-2 = ["<Shift><Super>2"];
|
||||
move-to-workspace-3 = ["<Shift><Super>3"];
|
||||
move-to-workspace-4 = ["<Shift><Super>4"];
|
||||
switch-applications = mkEmptyArray type.string;
|
||||
switch-applications-backward = mkEmptyArray type.string;
|
||||
switch-to-workspace-1 = ["<Super>1"];
|
||||
switch-to-workspace-2 = ["<Super>2"];
|
||||
switch-to-workspace-3 = ["<Super>3"];
|
||||
switch-to-workspace-4 = ["<Super>4"];
|
||||
toggle-fullscreen = ["<Super>f"];
|
||||
};
|
||||
|
||||
"org/gnome/shell/extensions/space-iflow-randomwallpaper" = {
|
||||
auto-fetch = true;
|
||||
change-type = 2;
|
||||
hide-panel-icon = true;
|
||||
history-length = 1;
|
||||
hours = 0;
|
||||
minutes = 30;
|
||||
sources = ["42"];
|
||||
fetch-on-startup = true;
|
||||
};
|
||||
|
||||
"org/gnome/shell/extensions/space-iflow-randomwallpaper/sources/general/42".type = 4;
|
||||
"org/gnome/shell/extensions/space-iflow-randomwallpaper/sources/localFolder/42".folder = "${flake}/wallpapers";
|
||||
};
|
||||
|
||||
"org/gnome/desktop/input-sources" = {
|
||||
sources = [(mkTuple ["xkb" "us"])];
|
||||
xkb-options = ["terminate:ctrl_alt_bksp" "caps:escape"];
|
||||
};
|
||||
|
||||
"org/gnome/shell/extensions/pop-shell" = {
|
||||
active-hint = true;
|
||||
fullscreen-launcher = false;
|
||||
mouse-cursor-focus-location = mkUint32 4;
|
||||
mouse-cursor-follows-active-window = true;
|
||||
show-skip-taskbar = false;
|
||||
show-title = true;
|
||||
smart-gaps = false;
|
||||
snap-to-grid = false;
|
||||
stacking-with-mouse = true;
|
||||
tile-by-default = true;
|
||||
};
|
||||
|
||||
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0" = {
|
||||
binding = "<Super>t";
|
||||
command = lib.getExe config.programs.alacritty.package;
|
||||
name = "Terminal";
|
||||
};
|
||||
|
||||
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1" = {
|
||||
binding = "<Super>e";
|
||||
command = "${lib.getExe config.programs.librewolf.package} --browser";
|
||||
name = "Browser";
|
||||
};
|
||||
|
||||
"org/gnome/desktop/wm/keybindings" = {
|
||||
close = ["<Shift><Super>q"];
|
||||
minimize = mkEmptyArray type.string;
|
||||
move-to-workspace-1 = ["<Shift><Super>1"];
|
||||
move-to-workspace-2 = ["<Shift><Super>2"];
|
||||
move-to-workspace-3 = ["<Shift><Super>3"];
|
||||
move-to-workspace-4 = ["<Shift><Super>4"];
|
||||
switch-applications = mkEmptyArray type.string;
|
||||
switch-applications-backward = mkEmptyArray type.string;
|
||||
switch-to-workspace-1 = ["<Super>1"];
|
||||
switch-to-workspace-2 = ["<Super>2"];
|
||||
switch-to-workspace-3 = ["<Super>3"];
|
||||
switch-to-workspace-4 = ["<Super>4"];
|
||||
toggle-fullscreen = ["<Super>f"];
|
||||
};
|
||||
|
||||
"org/gnome/shell/extensions/space-iflow-randomwallpaper" = {
|
||||
auto-fetch = true;
|
||||
change-type = 2;
|
||||
hide-panel-icon = true;
|
||||
history-length = 1;
|
||||
hours = 0;
|
||||
minutes = 30;
|
||||
sources = ["42"];
|
||||
fetch-on-startup = true;
|
||||
};
|
||||
|
||||
"org/gnome/shell/extensions/space-iflow-randomwallpaper/sources/general/42".type = 4;
|
||||
"org/gnome/shell/extensions/space-iflow-randomwallpaper/sources/localFolder/42".folder = "${flake}/wallpapers";
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,5 +1,14 @@
|
|||
{pkgs, ...}: {
|
||||
config = {
|
||||
{
|
||||
pkgs,
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
cfg = config.pim.neovim;
|
||||
in {
|
||||
options.pim.neovim.enable = lib.mkEnableOption "neovim";
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
programs.neovim = {
|
||||
enable = true;
|
||||
viAlias = true;
|
||||
|
|
|
@ -1,8 +1,18 @@
|
|||
{config, ...}: {
|
||||
services.syncthing.enable = true;
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
cfg = config.pim.syncthing;
|
||||
in {
|
||||
options.pim.syncthing.enable = lib.mkEnableOption "syncthing";
|
||||
|
||||
sops.secrets = {
|
||||
"syncthing/key".path = "${config.xdg.configHome}/syncthing/key.pem";
|
||||
"syncthing/cert".path = "${config.xdg.configHome}/syncthing/cert.pem";
|
||||
config = lib.mkIf cfg.enable {
|
||||
services.syncthing.enable = true;
|
||||
|
||||
sops.secrets = {
|
||||
"syncthing/key".path = "${config.xdg.configHome}/syncthing/key.pem";
|
||||
"syncthing/cert".path = "${config.xdg.configHome}/syncthing/cert.pem";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,5 +1,16 @@
|
|||
{pkgs, ...}: {
|
||||
home.packages = with pkgs; [
|
||||
supercollider-with-sc3-plugins
|
||||
];
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
cfg = config.pim.tidal;
|
||||
in {
|
||||
options.pim.tidal.enable = lib.mkEnableOption "tidal";
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
home.packages = with pkgs; [
|
||||
supercollider-with-sc3-plugins
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,25 +1,32 @@
|
|||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
programs.vscode = {
|
||||
enable = true;
|
||||
package = pkgs.vscodium;
|
||||
extensions = with pkgs.vscode-extensions; [
|
||||
vscodevim.vim
|
||||
marp-team.marp-vscode
|
||||
jnoortheen.nix-ide
|
||||
mkhl.direnv
|
||||
];
|
||||
}: let
|
||||
cfg = config.pim.vscode;
|
||||
in {
|
||||
options.pim.vscode.enable = lib.mkEnableOption "vscode";
|
||||
|
||||
userSettings = {
|
||||
"nix.enableLanguageServer" = true;
|
||||
"nix.serverPath" = lib.getExe pkgs.nil;
|
||||
"terminal.integrated.defaultProfile.linux" = "fish";
|
||||
"explorer.confirmDragAndDrop" = false;
|
||||
"explorer.confirmPasteNative" = false;
|
||||
"explorer.confirmDelete" = false;
|
||||
config = lib.mkIf cfg.enable {
|
||||
programs.vscode = {
|
||||
enable = true;
|
||||
package = pkgs.vscodium;
|
||||
extensions = with pkgs.vscode-extensions; [
|
||||
vscodevim.vim
|
||||
marp-team.marp-vscode
|
||||
jnoortheen.nix-ide
|
||||
mkhl.direnv
|
||||
];
|
||||
|
||||
userSettings = {
|
||||
"nix.enableLanguageServer" = true;
|
||||
"nix.serverPath" = lib.getExe pkgs.nil;
|
||||
"terminal.integrated.defaultProfile.linux" = "fish";
|
||||
"explorer.confirmDragAndDrop" = false;
|
||||
"explorer.confirmPasteNative" = false;
|
||||
"explorer.confirmDelete" = false;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue