186 lines
4.4 KiB
Nix
186 lines
4.4 KiB
Nix
{ config, pkgs, lib, ... }:
|
|
{
|
|
imports =
|
|
[
|
|
../packages/vim.nix
|
|
../services/ssh.nix
|
|
./sops.nix
|
|
];
|
|
|
|
environment.systemPackages = with pkgs; [
|
|
vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
|
|
git
|
|
unzip
|
|
zip
|
|
gnutar
|
|
wget
|
|
rsync
|
|
ripgrep
|
|
neofetch
|
|
htop
|
|
bottom
|
|
killall
|
|
foot.terminfo
|
|
tailscale
|
|
sops
|
|
];
|
|
|
|
#just allow unfree, im fine with it.
|
|
nixpkgs.config.allowUnfree = true;
|
|
|
|
zramSwap = {
|
|
enable = true;
|
|
memoryPercent = 25;
|
|
};
|
|
|
|
|
|
# Set your time zone.
|
|
time.timeZone = "Europe/Oslo";
|
|
|
|
# Select internationalisation properties.
|
|
i18n.defaultLocale = "en_US.UTF-8";
|
|
|
|
# Configure console
|
|
console = {
|
|
font = "Lat2-Terminus16";
|
|
keyMap = "no";
|
|
};
|
|
|
|
#tailscale
|
|
services.tailscale.enable = true;
|
|
networking.firewall.interfaces."tailscale0" = let
|
|
all = { from = 0; to = 65535; };
|
|
in {
|
|
allowedUDPPortRanges = [ all ];
|
|
allowedTCPPortRanges = [ all ];
|
|
};
|
|
|
|
|
|
#system vide bash aliases. TODO: check if only one of these works so i dont need duplicates.
|
|
programs.bash.shellAliases = config.environment.shellAliases;
|
|
environment.shellAliases = {
|
|
gst="git status";
|
|
gcm="git commit -m";
|
|
gca="git commit --amend";
|
|
gsw="git switch";
|
|
gaa="git add -A";
|
|
gb="git branch";
|
|
dc="cd";
|
|
la="ls -la";
|
|
lls="ls";
|
|
};
|
|
environment.interactiveShellInit = ''
|
|
alias gst='git status'
|
|
alias gcm='git commit -m'
|
|
alias gca='git commit --amend'
|
|
alias gsw='git switch'
|
|
alias gaa='git add -A'
|
|
alias gb='git branch'
|
|
alias dc='cd'
|
|
alias la='ls -la'
|
|
alias lls='ls'
|
|
'';
|
|
|
|
|
|
## some insecure packages
|
|
nixpkgs.config.permittedInsecurePackages = [
|
|
"python3.11-youtube-dl-2021.12.17"
|
|
];
|
|
|
|
|
|
sops.secrets."github/api" = {
|
|
mode = "0444";
|
|
group = "root";
|
|
};
|
|
|
|
#nix stuff
|
|
nix.gc.automatic = true;
|
|
nix = {
|
|
extraOptions = ''
|
|
builders-use-substitutes = true
|
|
experimental-features = nix-command flakes impure-derivations ca-derivations
|
|
!include ${config.sops.secrets."github/api".path}
|
|
'';
|
|
|
|
settings = {
|
|
trusted-users = [ "gunalx" "root" ];
|
|
experimental-features = [ "nix-command" "flakes" ];
|
|
substituters = [
|
|
"https://cache.nixos.org/"
|
|
"https://cuda-maintainers.cachix.org"
|
|
"https://nix-community.cachix.org"
|
|
"https://nixos-rocm.cachix.org"
|
|
"https://nixpkgs-unfree.cachix.org"
|
|
];
|
|
|
|
trusted-public-keys = [
|
|
"cuda-maintainers.cachix.org-1:0dq3bujKpuEPMCX6U4WylrUDZ9JyUG0VpVZa7CNfq5E="
|
|
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
|
"nixos-rocm.cachix.org-1:VEpsf7pRIijjd8csKjFNBGzkBqOmw8H9PRmgAq14LnE="
|
|
"nixpkgs-unfree.cachix.org-1:hqvoInulhbV4nJ9yJOEr+4wxhDV4xq2d1DK7S6Nj6rs="
|
|
];
|
|
|
|
};
|
|
|
|
buildMachines = [
|
|
# { hostName = "bob.pvv.ntnu.no";
|
|
# system = "x86_64-linux";
|
|
# maxJobs = 12;
|
|
# supportedFeatures = [ "big-parallel" ];
|
|
# speedFactor = 129270;
|
|
# }
|
|
{ hostName = "bolle.pbsds.net";
|
|
system = "x86_64-linux";
|
|
maxJobs = 6;
|
|
speedFactor = 12857;
|
|
}
|
|
{ hostName = "garp.pbsds.net";
|
|
system = "x86_64-linux";
|
|
maxJobs = 4;
|
|
# i7-6700
|
|
speedFactor = 8088;
|
|
}
|
|
{ hostName = "aragon";
|
|
system = "x86_64-linux";
|
|
# if the builder supports building for multiple architectures,
|
|
# replace the previous line by, e.g.,
|
|
# systems = ["x86_64-linux" "aarch64-linux"];
|
|
maxJobs = 6;
|
|
#speedFactor = 13199;
|
|
speedFactor = 6000;
|
|
supportedFeatures = [ ];
|
|
mandatoryFeatures = [ ];
|
|
}
|
|
{ hostName = "galadriel";
|
|
system = "x86_64-linux";
|
|
maxJobs = 4;
|
|
#speedFactor = 8066;
|
|
speedFactor = 4000;
|
|
supportedFeatures = [ "cuda" ];
|
|
mandatoryFeatures = [ ];
|
|
}
|
|
# {
|
|
# hostName = "isvegg.pvv.ntnu.no";
|
|
# system = "x86_64-linux";
|
|
# maxJobs = 4;
|
|
# speedFactor = 4961;
|
|
# supportedFeatures = [ "big-parallel" ];
|
|
# mandatoryFeatures = [ ];
|
|
# }
|
|
];
|
|
distributedBuilds = true;
|
|
};
|
|
|
|
|
|
system.autoUpgrade = {
|
|
enable = true;
|
|
flake = "git+https://github.com/adrlau/nix-dotfiles.git";
|
|
flags = [
|
|
"--update-input" "nixpkgs"
|
|
"--update-input" "nixpkgs-unstable"
|
|
"--no-write-lock-file"
|
|
];
|
|
};
|
|
|
|
}
|