devos/profiles/core/default.nix

160 lines
3 KiB
Nix
Raw Normal View History

{ config, lib, pkgs, ... }:
2020-01-04 06:06:31 +01:00
let inherit (lib) fileContents;
2019-12-15 05:37:46 +01:00
2020-07-31 06:17:28 +02:00
in
{
nix.package = pkgs.nixFlakes;
2020-01-04 06:06:31 +01:00
nix.systemFeatures = [ "nixos-test" "benchmark" "big-parallel" "kvm" ];
2020-08-02 22:50:05 +02:00
imports = [ ../../local/locale.nix ];
environment = {
systemPackages = with pkgs; [
binutils
coreutils
curl
2020-08-02 21:28:41 +02:00
direnv
dnsutils
2020-07-07 02:25:32 +02:00
dosfstools
fd
git
2019-12-26 08:17:44 +01:00
gotop
2019-12-17 05:13:33 +01:00
gptfdisk
iputils
2020-07-21 02:04:37 +02:00
jq
2020-12-16 22:48:40 +01:00
manix
nix-index
moreutils
2020-07-07 02:25:32 +02:00
nmap
ripgrep
2021-02-03 06:46:12 +01:00
tealdeer
utillinux
2020-07-07 02:25:32 +02:00
whois
];
2020-07-27 06:24:28 +02:00
shellInit = ''
export STARSHIP_CONFIG=${
pkgs.writeText "starship.toml"
2020-08-02 22:50:05 +02:00
(fileContents ./starship.toml)
2020-07-27 06:24:28 +02:00
}
'';
2020-01-04 06:06:31 +01:00
shellAliases =
let ifSudo = lib.mkIf config.security.sudo.enable;
2020-07-31 06:17:28 +02:00
in
{
# quick cd
".." = "cd ..";
"..." = "cd ../..";
"...." = "cd ../../..";
"....." = "cd ../../../..";
2019-12-15 09:17:42 +01:00
# git
g = "git";
2019-12-15 05:37:46 +01:00
# grep
grep = "rg";
gi = "grep -i";
# internet ip
myip = "dig +short myip.opendns.com @208.67.222.222 2>&1";
2019-12-16 05:29:54 +01:00
# nix
2019-12-16 06:33:52 +01:00
n = "nix";
2019-12-16 23:37:31 +01:00
np = "n profile";
ni = "np install";
nr = "np remove";
ns = "n search --no-update-lock-file";
2020-08-02 06:12:15 +02:00
nf = "n flake";
2021-01-19 09:00:41 +01:00
nepl = "n repl '<nixos>'";
2020-07-24 01:06:07 +02:00
srch = "ns nixpkgs";
2019-12-16 05:29:54 +01:00
nrb = ifSudo "sudo nixos-rebuild";
2020-12-16 22:48:40 +01:00
mn = ''
manix "" | grep '^# ' | sed 's/^# \(.*\) (.*/\1/;s/ (.*//;s/^# //' | sk --preview="manix '{}'" | xargs manix
'';
2019-12-16 05:29:54 +01:00
# fix nixos-option
nixos-option = "nixos-option -I nixpkgs=${toString ../../compat}";
# sudo
2019-12-19 19:57:49 +01:00
s = ifSudo "sudo -E ";
si = ifSudo "sudo -i";
se = ifSudo "sudoedit";
2019-12-26 08:17:44 +01:00
# top
top = "gotop";
# systemd
ctl = "systemctl";
2019-12-19 19:57:49 +01:00
stl = ifSudo "s systemctl";
utl = "systemctl --user";
ut = "systemctl --user start";
un = "systemctl --user stop";
2019-12-19 19:57:49 +01:00
up = ifSudo "s systemctl start";
dn = ifSudo "s systemctl stop";
jtl = "journalctl";
};
};
fonts = {
2020-01-04 06:06:31 +01:00
fonts = with pkgs; [ powerline-fonts dejavu_fonts ];
fontconfig.defaultFonts = {
monospace = [ "DejaVu Sans Mono for Powerline" ];
sansSerif = [ "DejaVu Sans" ];
};
};
nix = {
autoOptimiseStore = true;
gc.automatic = true;
optimise.automatic = true;
useSandbox = true;
allowedUsers = [ "@wheel" ];
trustedUsers = [ "root" "@wheel" ];
extraOptions = ''
experimental-features = nix-command flakes ca-references
2020-07-16 23:16:27 +02:00
min-free = 536870912
keep-outputs = true
keep-derivations = true
'';
};
2020-08-02 21:28:41 +02:00
programs.bash = {
promptInit = ''
eval "$(${pkgs.starship}/bin/starship init bash)"
'';
2020-12-20 02:35:16 +01:00
interactiveShellInit = ''
2020-08-02 21:28:41 +02:00
eval "$(${pkgs.direnv}/bin/direnv hook bash)"
'';
};
2020-07-27 06:24:28 +02:00
security = {
hideProcessInformation = true;
protectKernelImage = true;
};
services.earlyoom.enable = true;
2020-01-06 08:38:12 +01:00
users.mutableUsers = false;
}