136 lines
3.5 KiB
Nix
136 lines
3.5 KiB
Nix
{
|
|
lib,
|
|
config,
|
|
osConfig,
|
|
pkgs,
|
|
...
|
|
}: let
|
|
userConfig = osConfig.host.users.leyla;
|
|
hardware = osConfig.host.hardware;
|
|
in {
|
|
imports = [
|
|
./vscode/default.nix
|
|
./firefox.nix
|
|
];
|
|
|
|
config = lib.mkMerge [
|
|
(lib.mkIf userConfig.isTerminalUser {
|
|
home.packages = with pkgs; [
|
|
# command line tools
|
|
sox
|
|
yt-dlp
|
|
ffmpeg
|
|
imagemagick
|
|
];
|
|
})
|
|
(lib.mkIf userConfig.isDesktopUser {
|
|
nixpkgs.config = {
|
|
allowUnfree = true;
|
|
};
|
|
|
|
home.packages = (
|
|
lib.lists.optionals userConfig.isDesktopUser (
|
|
(with pkgs; [
|
|
# helvetica font
|
|
aileron
|
|
|
|
gnomeExtensions.dash-to-dock
|
|
|
|
# development tools
|
|
dbeaver-bin
|
|
bruno
|
|
proxmark3
|
|
])
|
|
++ (
|
|
lib.lists.optionals hardware.directAccess.enable (with pkgs; [
|
|
#foss platforms
|
|
signal-desktop-bin
|
|
bitwarden
|
|
ungoogled-chromium
|
|
libreoffice
|
|
inkscape
|
|
gimp
|
|
krita
|
|
freecad
|
|
# cura
|
|
# kicad-small
|
|
makemkv
|
|
onionshare
|
|
# rhythmbox
|
|
(lib.mkIf hardware.graphicsAcceleration.enable obs-studio)
|
|
# wireshark
|
|
# rpi-imager
|
|
# fritzing
|
|
mfoc
|
|
tor-browser
|
|
anki
|
|
pdfarranger
|
|
calibre
|
|
qbittorrent
|
|
picard
|
|
|
|
# proprietary platforms
|
|
discord
|
|
obsidian
|
|
prostudiomasters
|
|
(lib.mkIf hardware.graphicsAcceleration.enable davinci-resolve)
|
|
|
|
# development tools
|
|
# androidStudioPackages.canary
|
|
jetbrains.idea-community
|
|
qFlipper
|
|
|
|
# system tools
|
|
protonvpn-gui
|
|
openvpn
|
|
noisetorch
|
|
|
|
# hardware management tools
|
|
(lib.mkIf hardware.piperMouse.enable piper)
|
|
(lib.mkIf hardware.openRGB.enable openrgb)
|
|
(lib.mkIf hardware.viaKeyboard.enable via)
|
|
])
|
|
)
|
|
)
|
|
);
|
|
programs = lib.mkIf userConfig.isDesktopUser {
|
|
# Let Home Manager install and manage itself.
|
|
home-manager.enable = true;
|
|
|
|
# set up git defaults
|
|
git = {
|
|
enable = true;
|
|
userName = "Leyla Becker";
|
|
userEmail = "git@jan-leila.com";
|
|
extraConfig.init.defaultBranch = "main";
|
|
};
|
|
|
|
# add direnv to auto load flakes for development
|
|
direnv = {
|
|
enable = true;
|
|
enableBashIntegration = true;
|
|
nix-direnv.enable = true;
|
|
config = {
|
|
global.hide_env_diff = true;
|
|
whitelist.exact = ["/home/leyla/documents/code/nix-config"];
|
|
};
|
|
};
|
|
bash.enable = true;
|
|
|
|
openssh = {
|
|
authorizedKeys = [
|
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJHeItmt8TRW43uNcOC+eIurYC7Eunc0V3LGocQqLaYj leyla@horizon"
|
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIILimFIW2exEH/Xo7LtXkqgE04qusvnPNpPWSCeNrFkP leyla@defiant"
|
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKBiZkg1c2aaNHiieBX4cEziqvJVj9pcDfzUrKU/mO0I leyla@twilight"
|
|
];
|
|
hostKeys = [
|
|
{
|
|
type = "ed25519";
|
|
path = "${config.home.username}_${osConfig.networking.hostName}_ed25519";
|
|
}
|
|
];
|
|
};
|
|
};
|
|
})
|
|
];
|
|
}
|