mirror of
https://github.com/tuxdotrs/tawm.git
synced 2025-07-05 20:56:33 +05:30
123 lines
3.2 KiB
Nix
123 lines
3.2 KiB
Nix
{
|
|
pkgs,
|
|
username,
|
|
outputs,
|
|
config,
|
|
inputs,
|
|
email,
|
|
...
|
|
}: {
|
|
imports = [
|
|
inputs.impermanence.nixosModules.impermanence
|
|
inputs.home-manager.nixosModules.home-manager
|
|
|
|
../../modules/nixos/fail2ban.nix
|
|
../../modules/nixos/sops.nix
|
|
../../modules/nixos/upstream-proxy.nix
|
|
../../modules/nixos/cyber-tux.nix
|
|
../../modules/nixos/networking/ssh.nix
|
|
];
|
|
|
|
sops.secrets.tux-password = {
|
|
sopsFile = ./secrets.yaml;
|
|
neededForUsers = true;
|
|
};
|
|
|
|
nixpkgs = {
|
|
overlays = [
|
|
outputs.overlays.additions
|
|
outputs.overlays.modifications
|
|
outputs.overlays.stable-packages
|
|
outputs.overlays.nur
|
|
outputs.overlays.nix-vscode-extensions
|
|
];
|
|
|
|
config = {
|
|
allowUnfree = true;
|
|
joypixels.acceptLicense = true;
|
|
};
|
|
};
|
|
|
|
nix = {
|
|
package = pkgs.lix;
|
|
settings = {
|
|
experimental-features = "nix-command flakes";
|
|
auto-optimise-store = true;
|
|
trusted-users = ["${username}"];
|
|
warn-dirty = false;
|
|
substituters = [
|
|
"https://cache.nixos.org?priority=10"
|
|
"https://anyrun.cachix.org"
|
|
"https://fufexan.cachix.org"
|
|
"https://helix.cachix.org"
|
|
"https://hyprland.cachix.org"
|
|
"https://nix-community.cachix.org"
|
|
"https://nix-gaming.cachix.org"
|
|
"https://yazi.cachix.org"
|
|
];
|
|
trusted-public-keys = [
|
|
"cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
|
|
"anyrun.cachix.org-1:pqBobmOjI7nKlsUMV25u9QHa9btJK65/C8vnO3p346s="
|
|
"fufexan.cachix.org-1:LwCDjCJNJQf5XD2BV+yamQIMZfcKWR9ISIFy5curUsY="
|
|
"helix.cachix.org-1:ejp9KQpR1FBI2onstMQ34yogDm4OgU2ru6lIwPvuCVs="
|
|
"hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="
|
|
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
|
"nix-gaming.cachix.org-1:nbjlureqMbRAxR1gJ/f3hxemL9svXaZF/Ees8vCUUs4="
|
|
"yazi.cachix.org-1:Dcdz63NZKfvUCbDGngQDAZq6kOroIrFoyO064uvLh8k="
|
|
];
|
|
};
|
|
};
|
|
|
|
time.timeZone = "Asia/Kolkata";
|
|
i18n = {
|
|
defaultLocale = "en_US.UTF-8";
|
|
extraLocaleSettings = {
|
|
LC_ADDRESS = "en_IN";
|
|
LC_IDENTIFICATION = "en_IN";
|
|
LC_MEASUREMENT = "en_IN";
|
|
LC_MONETARY = "en_IN";
|
|
LC_NAME = "en_IN";
|
|
LC_NUMERIC = "en_IN";
|
|
LC_PAPER = "en_IN";
|
|
LC_TELEPHONE = "en_IN";
|
|
LC_TIME = "en_IN";
|
|
};
|
|
};
|
|
|
|
security.sudo.wheelNeedsPassword = false;
|
|
|
|
programs = {
|
|
zsh.enable = true;
|
|
nh = {
|
|
enable = true;
|
|
clean.enable = true;
|
|
clean.extraArgs = "--keep-since 5d --keep 5";
|
|
flake = "/home/${username}/Projects/nixos-config";
|
|
};
|
|
};
|
|
|
|
users = {
|
|
mutableUsers = false;
|
|
defaultUserShell = pkgs.zsh;
|
|
users.${username} = {
|
|
hashedPasswordFile = config.sops.secrets.tux-password.path;
|
|
isNormalUser = true;
|
|
extraGroups = ["networkmanager" "wheel" "storage"];
|
|
openssh.authorizedKeys.keys = [
|
|
''ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIL+OzPUe2ECPC929DqpkM39tl/vdNAXfsRnmrGfR+X3D ${email}''
|
|
];
|
|
};
|
|
};
|
|
|
|
home-manager = {
|
|
backupFileExtension = "hm-backup";
|
|
useUserPackages = true;
|
|
extraSpecialArgs = {inherit inputs outputs username email;};
|
|
users.${username} = {
|
|
imports = [
|
|
./home.nix
|
|
];
|
|
};
|
|
};
|
|
}
|