Merge branch 'main' of https://git.marty.tf/marty/config.nix
This commit is contained in:
commit
784f214fb7
22 changed files with 225 additions and 292 deletions
|
|
@ -75,10 +75,11 @@ binds {
|
|||
${modifier}+${osConfig.keybinds.hotkeys.terminal} { spawn "${osConfig.terminal.binary}";}
|
||||
${modifier}+Left {focus-column-left; }
|
||||
${modifier}+Right {focus-column-right; }
|
||||
${modifier}+${osConfig.keybinds.hotkeys.browser} { spawn "zen";}
|
||||
${modifier}+${osConfig.keybinds.hotkeys.launcher} { spawn "walker";}
|
||||
${modifier}+${osConfig.keybinds.hotkeys.browser} { spawn "${osConfig.apps.browser.default}";}
|
||||
${modifier}+${osConfig.keybinds.hotkeys.launcher} { spawn "${osConfig.desktop.window-managers.shell.launcher.default}";}
|
||||
Print { screenshot;}
|
||||
${modifier}+Shift+Q { close-window; }
|
||||
${modifier}+Shift+${osConfig.keybinds.hotkeys.close-window} { close-window; }
|
||||
${modifier}+Shift+${osConfig.keybinds.hotkeys.editor} { spawn "${osConfig.apps.development.editor.default}";}
|
||||
}
|
||||
|
||||
spawn-at-startup "elephant"
|
||||
|
|
|
|||
|
|
@ -1,15 +0,0 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
imports = [
|
||||
./internet
|
||||
./bluetooth
|
||||
./mounts
|
||||
./social-media
|
||||
];
|
||||
}
|
||||
|
|
@ -1,60 +0,0 @@
|
|||
{
|
||||
config,
|
||||
pkgs,
|
||||
inputs,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
options = {
|
||||
device = {
|
||||
type = {
|
||||
laptop = lib.mkEnableOption "laptop";
|
||||
desktop = lib.mkEnableOption "desktop";
|
||||
server = lib.mkEnableOption "server";
|
||||
};
|
||||
};
|
||||
};
|
||||
imports = [
|
||||
./laptop.nix
|
||||
./desktop.nix
|
||||
./server.nix
|
||||
];
|
||||
config = {
|
||||
development = lib.mkDefault {
|
||||
git.enable = true;
|
||||
};
|
||||
terminal = lib.mkDefault {
|
||||
ranger.enable = true;
|
||||
};
|
||||
misc = lib.mkDefault {
|
||||
bitwarden.enable = true;
|
||||
};
|
||||
internet.tor.enable = true;
|
||||
syncthing = lib.mkDefault {
|
||||
devices = {
|
||||
marty-pc = {
|
||||
id = "6PJZD52-EEWIO7U-MZMJJ5B-33DGNSU-O7DJVRT-GAE7QZG-ZY3VIMV-VSMBDQP";
|
||||
autoAcceptFolder = true;
|
||||
};
|
||||
marty-server = {
|
||||
id = "UDMXEKZ-HYIFI5S-VAKE75O-K3C65QV-LS43QA5-3JTHWKL-CI5C3Y6-P4NSQQM";
|
||||
autoAcceptFolders = true;
|
||||
};
|
||||
marty-latitude = {
|
||||
id = "SOAWHKA-BCQGO5G-IJ24WTO-RDETP5M-LNTVO66-MHIOUU2-NNQ57P6-FFKNSA6";
|
||||
autoAcceptFolders = true;
|
||||
};
|
||||
marty-pixel = {
|
||||
id = "GSBXOGW-6SYLDUQ-HPH7FBJ-CKHWQIK-K5YORB4-CYKGYT6-DLCVSAK-LA2RMAK";
|
||||
autoAcceptFolders = true;
|
||||
};
|
||||
marty-fairphone = {
|
||||
id = "2ISVWQV-4USY5IA-2OU55CE-Q7VLPD7-4RVQ5WX-FXQSJMY-2ES4EZG-IGFB7QG";
|
||||
autoAcceptFolders = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -1,58 +0,0 @@
|
|||
{
|
||||
config,
|
||||
pkgs,
|
||||
inputs,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
config = lib.mkIf config.device.type.desktop {
|
||||
development = lib.mkDefault {
|
||||
vscodium.enable = true;
|
||||
godot.enable = true;
|
||||
python.enable = true;
|
||||
};
|
||||
terminal = lib.mkDefault {
|
||||
kitty.enable = true;
|
||||
};
|
||||
desktop = lib.mkDefault {
|
||||
hyprland = {
|
||||
enable = true;
|
||||
numlock = true;
|
||||
};
|
||||
# waybar.enable = true;
|
||||
walker.enable = true;
|
||||
wallpaper.enable = true;
|
||||
grimblast.enable = true;
|
||||
audio.enable = true;
|
||||
noctalia.enable = true;
|
||||
};
|
||||
messaging.enable = true;
|
||||
internet = lib.mkDefault {
|
||||
browsers = {
|
||||
zen-browser = {
|
||||
enable = true;
|
||||
};
|
||||
tor-browser = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
mail = {
|
||||
enable = true;
|
||||
providers.protonmail.enable = true;
|
||||
};
|
||||
rss.enable = true;
|
||||
};
|
||||
bluetooth.enable = true;
|
||||
media = {
|
||||
images.enable = true;
|
||||
video.enable = true;
|
||||
audio.enable = true;
|
||||
threeD.enable = true;
|
||||
};
|
||||
misc = {
|
||||
obsidian.enable = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -1,51 +0,0 @@
|
|||
{
|
||||
config,
|
||||
pkgs,
|
||||
inputs,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
config = lib.mkIf config.device.type.laptop {
|
||||
home.packages = with pkgs; [
|
||||
light
|
||||
];
|
||||
development = lib.mkDefault {
|
||||
vscodium.enable = true;
|
||||
};
|
||||
terminal = lib.mkDefault {
|
||||
kitty.enable = true;
|
||||
};
|
||||
desktop = lib.mkDefault {
|
||||
hyprland = {
|
||||
enable = true;
|
||||
};
|
||||
# waybar.enable = true;
|
||||
walker.enable = true;
|
||||
wallpaper.enable = true;
|
||||
grimblast.enable = true;
|
||||
audio.enable = true;
|
||||
noctalia.enable = true;
|
||||
};
|
||||
messaging.enable = true;
|
||||
internet = lib.mkDefault {
|
||||
browsers = {
|
||||
zen-browser = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
mail = {
|
||||
enable = true;
|
||||
providers.protonmail.enable = true;
|
||||
};
|
||||
rss.enable = true;
|
||||
};
|
||||
bluetooth.enable = true;
|
||||
media = {
|
||||
images.nomacs.enable = true;
|
||||
video.mpv.enable = true;
|
||||
video.tsukimi.enable = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
{
|
||||
config,
|
||||
pkgs,
|
||||
inputs,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
|
||||
}
|
||||
|
|
@ -1,17 +0,0 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
pass
|
||||
gnome-keyring
|
||||
seahorse
|
||||
libsecret
|
||||
gcr
|
||||
];
|
||||
services.gnome-keyring.enable = true;
|
||||
}
|
||||
|
|
@ -28,7 +28,6 @@
|
|||
|
||||
imports = [
|
||||
./hardware.nix
|
||||
../../modules/desktop/niri.nix
|
||||
# ../../modules/server/nginx.nix
|
||||
];
|
||||
|
||||
|
|
|
|||
|
|
@ -8,9 +8,8 @@
|
|||
{
|
||||
imports = [
|
||||
./git.nix
|
||||
./vscodium.nix
|
||||
./python.nix
|
||||
./editor.nix
|
||||
./godot.nix
|
||||
./openssl.nix
|
||||
./languages.nix
|
||||
];
|
||||
}
|
||||
|
|
|
|||
54
modules/apps/development/editor.nix
Normal file
54
modules/apps/development/editor.nix
Normal 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";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -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
|
||||
];
|
||||
};
|
||||
|
|
|
|||
20
modules/apps/development/languages.nix
Normal file
20
modules/apps/development/languages.nix
Normal 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)
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
@ -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";
|
||||
};
|
||||
};
|
||||
}
|
||||
34
modules/apps/internet/browser.nix
Normal file
34
modules/apps/internet/browser.nix
Normal 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)
|
||||
];
|
||||
};
|
||||
}
|
||||
13
modules/apps/internet/default.nix
Normal file
13
modules/apps/internet/default.nix
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
imports = [
|
||||
./browser.nix
|
||||
./mail.nix
|
||||
];
|
||||
}
|
||||
|
|
@ -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;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
52
modules/apps/sync/default.nix
Normal file
52
modules/apps/sync/default.nix
Normal 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;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -13,7 +13,7 @@
|
|||
rofi.enable = lib.mkEnableOption "enable rofi";
|
||||
launcher = lib.mkOption {
|
||||
default = (lib.mkIf config.desktop.shell.walker.enable "walker");
|
||||
description = "default launcher"
|
||||
description = "default launcher";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@
|
|||
description = "editor hotkey";
|
||||
};
|
||||
};
|
||||
}
|
||||
};
|
||||
};
|
||||
imports = [
|
||||
./hyprland.nix
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
|
||||
{
|
||||
networking = {
|
||||
domain = config.domain;
|
||||
networkmanager.enable = true;
|
||||
firewall = {
|
||||
enable = true;
|
||||
|
|
|
|||
|
|
@ -16,9 +16,9 @@
|
|||
'';
|
||||
};
|
||||
email = lib.mkOption {
|
||||
default = "${config.user.userName}@${config.domain}";
|
||||
description = "main user email"
|
||||
}
|
||||
default = "${config.user.userName}@${config.networking.domain}";
|
||||
description = "main user email";
|
||||
};
|
||||
shell = lib.mkOption {
|
||||
default = pkgs.fish;
|
||||
description = ''
|
||||
|
|
|
|||
30
options.nix
30
options.nix
|
|
@ -44,6 +44,36 @@
|
|||
default = "kitty";
|
||||
toys = true;
|
||||
};
|
||||
sync = {
|
||||
syncthing = {
|
||||
devices = {
|
||||
marty-pc = {
|
||||
id = "6PJZD52-EEWIO7U-MZMJJ5B-33DGNSU-O7DJVRT-GAE7QZG-ZY3VIMV-VSMBDQP";
|
||||
autoAcceptFolder = true;
|
||||
};
|
||||
marty-server = {
|
||||
id = "UDMXEKZ-HYIFI5S-VAKE75O-K3C65QV-LS43QA5-3JTHWKL-CI5C3Y6-P4NSQQM";
|
||||
autoAcceptFolders = true;
|
||||
};
|
||||
marty-latitude = {
|
||||
id = "SOAWHKA-BCQGO5G-IJ24WTO-RDETP5M-LNTVO66-MHIOUU2-NNQ57P6-FFKNSA6";
|
||||
autoAcceptFolders = true;
|
||||
};
|
||||
marty-thinkpad = {
|
||||
id = "NWHFQSW-FOBGFLV-YMZR77Q-KNRR3YC-4C6PKXT-TTPDCOL-CDB6QX4-3QJE2AN";
|
||||
autoAcceptFolders = true;
|
||||
};
|
||||
marty-pixel = {
|
||||
id = "GSBXOGW-6SYLDUQ-HPH7FBJ-CKHWQIK-K5YORB4-CYKGYT6-DLCVSAK-LA2RMAK";
|
||||
autoAcceptFolders = true;
|
||||
};
|
||||
marty-fairphone = {
|
||||
id = "2ISVWQV-4USY5IA-2OU55CE-Q7VLPD7-4RVQ5WX-FXQSJMY-2ES4EZG-IGFB7QG";
|
||||
autoAcceptFolders = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
desktop = {
|
||||
window-managers = {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue