nixconfigs/home/desktop.nix
Trolli Schmittlauch b0093ef58f remove deprecated system passing
fixes
'system' has been renamed to/replaced by 'stdenv.hostPlatform.system'

Wherever possible, it's best to reference the hostPlatform of the
nixpkgs instance directly via `config`. This is only possible in NixOS
systems though, for standalon home-manager configs we need to get that
value through `pkgs.stdenv`.
2025-12-29 02:25:50 +01:00

103 lines
2.3 KiB
Nix

{
pkgs,
inputs,
config,
lib,
...
}:
{
imports = [ ./modules/latex.nix ];
home.stateVersion = "23.11";
schmittlauch = {
packages = {
graphics = true;
multimedia = true;
nixHelpers = true;
devTools = true;
pythonTools = true;
games = true;
desktopLinux = true;
kde = true;
};
latex.guiTools = true;
};
# for backwards compatibility
services.lorri.enable = true;
programs.git =
let
# TODO profile specific
contacts = import "${inputs.mysecrets}/contacts.nix" { inherit lib; };
in
{
includes = [
{
condition = "gitdir:~/Seafile/Studium/";
contents = {
user.name = contacts.personal.name;
user.email = contacts.uni.email;
};
}
{
condition = "gitdir:~/src/nixpkgs/";
contents = {
user.name = "Trolli Schmittlauch";
user.email = contacts.nixOs.email;
};
}
]
# set default name for several other common locations
++
map
(dir: {
condition = "gitdir:${dir}";
contents = {
user = {
inherit (contacts.schmittlauch) email name;
};
};
})
[
"~/src/"
"~/bin/"
"~/tmp/"
"~/nixconfigs/"
];
};
services.gpg-agent = {
enable = true;
#enableSshSupport = true;
pinentry.package = pkgs.pinentry-qt;
};
programs.ssh = {
enable = true;
enableDefaultConfig = false; # deprecated
package = pkgs.openssh;
# TODO: common config for desktop as well
# ssh host config
matchBlocks = {
# default, gets placed last by home-manager
"*" = {
serverAliveInterval = 10;
serverAliveCountMax = 2; # 2 strikes and you're out
forwardAgent = false;
addKeysToAgent = "no";
compression = false;
hashKnownHosts = false;
userKnownHostsFile = "~/.ssh/known_hosts";
controlMaster = "no";
controlPath = "~/.ssh/master-%r@%n:%p";
controlPersist = "no";
};
}
// (import "${inputs.mysecrets}/ssh_hosts.nix").privateHosts;
};
# media button control support from Bluetooth devices
services.mpris-proxy.enable = true;
}