This commit is contained in:
martyTF 2026-04-02 18:04:02 +02:00
commit 784f214fb7
22 changed files with 225 additions and 292 deletions

View file

@ -8,9 +8,8 @@
{
imports = [
./git.nix
./vscodium.nix
./python.nix
./editor.nix
./godot.nix
./openssl.nix
./languages.nix
];
}

View file

@ -0,0 +1,54 @@
{
config,
lib,
pkgs,
...
}:
{
options = {
development = {
editor = {
vscodium.enable = lib.mkEnableOption "enable vscodium";
emacs.enable = lib.mkEnableOption "enable emacs";
default = "vscodium";
};
};
};
config = {
environment.systemPackages = with pkgs; [
(lib.mkIf config.development.editor.vscodium.enable vscodium)
nixfmt
];
programs = {
vscode = lib.mkIf config.development.editor.vscodium.enable {
enable = true;
package = pkgs.vscodium;
defaultEditor = lib.mkIf (config.development.editor.default == "vscodium") true;
profiles.default.extensions = with pkgs.vscode-extensions; [
catppuccin.catppuccin-vsc
catppuccin.catppuccin-vsc-icons
jnoortheen.nix-ide
alefragnani.project-manager
naumovs.color-highlight
geequlim.godot-tools
stylelint.vscode-stylelint
ecmel.vscode-html-css
esbenp.prettier-vscode
];
};
};
services = {
emacs = lib.mkIf config.development.editor.emacs.enable {
enable = true;
install = true;
defaultEditor = lib.mkIf (config.development.editor.default == "emacs") true;
};
};
home.sessionVariables = {
EDITOR = lib.mkDefault "codium";
};
};
}

View file

@ -7,13 +7,13 @@
{
options = {
development = {
apps.development = {
godot.enable = lib.mkEnableOption "enable godot";
};
};
config = lib.mkIf config.development.godot.enable {
home.packages = with pkgs; [
config = lib.mkIf config.apps.development.godot.enable {
systemPackages = with pkgs; [
godot
];
};

View file

@ -0,0 +1,20 @@
{
config,
lib,
pkgs,
...
}:
{
options = {
apps.development.languages = {
python = lib.mkEnableOption "enable python";
};
};
config = {
environment.systemPackages = with pkgs; [
(lib.mkIf lib.mkIf config.development.languages.python.enable virtualenv)
];
};
}

View file

@ -1,38 +0,0 @@
{
config,
lib,
pkgs,
...
}:
{
options = {
development = {
vscodium.enable = lib.mkEnableOption "enable vscodium";
};
};
config = lib.mkIf config.development.vscodium.enable {
programs.vscode = {
enable = true;
package = pkgs.vscodium;
profiles.default.extensions = with pkgs.vscode-extensions; [
catppuccin.catppuccin-vsc
catppuccin.catppuccin-vsc-icons
jnoortheen.nix-ide
alefragnani.project-manager
naumovs.color-highlight
geequlim.godot-tools
stylelint.vscode-stylelint
ecmel.vscode-html-css
esbenp.prettier-vscode
];
};
home.packages = with pkgs; [
nixfmt
];
home.sessionVariables = {
EDITOR = lib.mkDefault "codium";
};
};
}

View file

@ -0,0 +1,34 @@
{
config,
lib,
pkgs,
...
}:
{
options = {
apps.internet.browsers = {
zen-browser = {
enable = lib.mkEnableOption "enable zen browser";
package = inputs.zen-browser.packages.${pkgs.stdenv.hostPlatform.system}.default;
binary = "${config.apps.internet.browsers.zen-browser.package}/bin/zen";
};
tor-browser = {
enable = lib.mkEnableOption "enable tor browser";
package = pkgs.tor-browser;
binary = "${config.apps.internet.browsers.tor-browser.package}/bin/tor-browser";
};
default = lib.mkOption {
default = "zen";
description = "default browser";
};
};
};
config = {
environment.systemPackages = [
(lib.mkIf config.apps.internet.browsers.zen-browser.enable config.apps.internet.browsers.zen-browser.package)
(lib.mkIf config.apps.internet.browsers.tor-browser.enable config.apps.internet.browsers.tor-browser.package)
];
};
}

View file

@ -0,0 +1,13 @@
{
config,
lib,
pkgs,
...
}:
{
imports = [
./browser.nix
./mail.nix
];
}

View file

@ -12,21 +12,6 @@
obsidian.enable = lib.mkEnableOption "enable obsidian";
bitwarden.enable = lib.mkEnableOption "enable bitwarden";
blender.enable = lib.mkEnableOption "enable blender";
syncthing = {
enable = lib.mkEnableOption "enable syncthing";
devices = lib.mkOption {
default = { };
description = ''
set syncthing devices
'';
};
folders = lib.mkOption {
default = { };
description = ''
set syncthing folders
'';
};
};
};
};
@ -37,20 +22,15 @@
lib.mkIf (config.desktop.shell.rofi.enable) pinentry-curses rofi-rbw
))
(lib.mkIf (config.apps.misc.blender.enable) blender)
libsecret
gcr_4
pass
];
programs = {
seahorse.enable = true;
};
services = {
syncthing = lib.mkIf config.apps.misc.syncthing.enable {
enable = true;
tray.enable = true;
guiAddress = "0.0.0.0:8384";
settings = {
devices = config.apps.misc.syncthing.devices;
folders = config.apps.misc.syncthing.folders;
};
overrideDevices = lib.mkIf (config.apps.misc.syncthing.devices == { }) false;
overrideFolders = lib.mkIf (config.apps.misc.syncthing.folders == { }) false;
};
gnome.gnome-keyring.enable = true;
};
};
}

View file

@ -0,0 +1,52 @@
{
config,
pkgs,
inputs,
lib,
...
}:
{
options = {
apps.sync = {
kde-connect = {
enable = lib.mkEnableOption "enable kde-connect";
};
syncthing = {
enable = lib.mkEnableOption "enable syncthing";
devices = lib.mkOption {
default = { };
description = ''
set syncthing devices
'';
};
folders = lib.mkOption {
default = { };
description = ''
set syncthing folders
'';
};
};
};
};
config = {
programs = {
kdeconnect = lib.mkIf config.apps.sync.kde-connect.enable {
enable = true;
};
};
services = {
syncthing = lib.mkIf config.apps.sync.syncthing.enable {
enable = true;
tray.enable = true;
guiAddress = "0.0.0.0:8384";
settings = {
devices = config.apps.sync.syncthing.devices;
folders = config.apps.sync.syncthing.folders;
};
overrideDevices = lib.mkIf (config.apps.sync.syncthing.devices == { }) false;
overrideFolders = lib.mkIf (config.apps.sync.syncthing.folders == { }) false;
};
};
};
}