nixos/home/david/configurations/Tytonidae/default.nix

112 lines
2.9 KiB
Nix
Raw Normal View History

2024-12-25 10:59:37 +08:00
{
pkgs,
config,
rootPath,
inputs,
2024-12-25 10:59:37 +08:00
...
}:
{
imports = [
./starship
./helix
./fish
./rime-ice.nix
./firefox.nix
./foot
./ghostty
./niri
./zed.nix
2024-12-25 10:59:37 +08:00
];
xdg.userDirs = {
enable = true;
download = "${config.home.homeDirectory}/dls";
documents = "${config.home.homeDirectory}/doc";
music = "${config.home.homeDirectory}/mus";
pictures = "${config.home.homeDirectory}/pic";
videos = "${config.home.homeDirectory}/vid";
templates = "${config.home.homeDirectory}/tpl";
publicShare = "${config.home.homeDirectory}/pub";
desktop = "${config.home.homeDirectory}/dsk";
createDirectories = true;
};
home.username = "david";
home.homeDirectory = "/home/david";
home.stateVersion = "24.11";
programs.home-manager.enable = true;
programs.git = {
enable = true;
userName = "Ulic-youthlic";
userEmail = "ulic.youthlic@gmail.com";
};
programs.obs-studio = {
enable = true;
plugins = with pkgs.obs-studio-plugins; [
obs-source-record
input-overlay
2024-12-25 10:59:37 +08:00
];
};
home.packages = with pkgs; [
ripgrep
fzf
file
which
gnused
gnutar
bat
2024-12-25 10:59:37 +08:00
gawk
zstd
tree
nerd-fonts.victor-mono
ouch
dust
qq
telegram-desktop
taplo
ghostty
2024-12-25 10:59:37 +08:00
];
programs.ssh = {
enable = true;
hashKnownHosts = true;
extraOptionOverrides = {
HostKeyAlgorithms = "ssh-ed25519-cert-v01@openssh.com,ssh-rsa-cert-v01@openssh.com,ssh-ed25519,ssh-rsa,ecdsa-sha2-nistp521-cert-v01@openssh.com,ecdsa-sha2-nistp384-cert-v01@openssh.com,ecdsa-sha2-nistp256-cert-v01@openssh.com,ecdsa-sha2-nistp521,ecdsa-sha2-nistp384,ecdsa-sha2-nistp256";
KexAlgorithms = "curve25519-sha256@libssh.org,ecdh-sha2-nistp521,ecdh-sha2-nistp384,ecdh-sha2-nistp256,diffie-hellman-group-exchange-sha256";
MACs = "hmac-sha2-512-etm@openssh.com,hmac-sha2-256-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-512,hmac-sha2-256,umac-128@openssh.com";
Ciphers = "chacha20-poly1305@openssh.com,aes256-gcm@openssh.com,aes128-gcm@openssh.com,aes256-ctr,aes192-ctr,aes128-ctr";
};
matchBlocks = {
"github.com" = {
hostname = "ssh.github.com";
port = 443;
user = "git";
extraOptions = {
AddKeysToAgent = "yes";
};
};
};
};
programs.chromium = {
enable = true;
commandLineArgs = [
"--ozone-platform=wayland"
"--enable-wayland-ime=true"
"--enable-features=UseOzonePlatform"
];
};
dconf.settings = {
"org/virt-manager/virt-manager/connections" = {
autoconnect = [ "qemu:///system" ];
uris = [ "qemu:///system" ];
};
};
sops.secrets."ssh-private-key" = {
mode = "0600";
path = "${config.home.homeDirectory}/.ssh/id_ed25519";
};
sops.gnupg = {
home = "${config.home.homeDirectory}/.gnupg";
};
sops.defaultSopsFile = rootPath + "/secrets/general.yaml";
2024-12-25 10:59:37 +08:00
}