115 lines
2.2 KiB
Nix
115 lines
2.2 KiB
Nix
{
|
|
config,
|
|
pkgs,
|
|
inputs,
|
|
...
|
|
}:
|
|
|
|
{
|
|
imports = [
|
|
./users.nix
|
|
./nebula.nix
|
|
];
|
|
|
|
i18n.defaultLocale = "en_US.UTF-8";
|
|
|
|
# Inserts flake.nix shim on install.
|
|
environment.etc."nixos/flake.nix" = {
|
|
source = "${inputs.self}/templates/shim/flake.nix";
|
|
mode = "0440";
|
|
};
|
|
|
|
home-manager = {
|
|
useGlobalPkgs = true;
|
|
useUserPackages = true;
|
|
backupFileExtension = "hm-bak";
|
|
};
|
|
|
|
# Default Programs
|
|
programs.neovim = {
|
|
enable = true;
|
|
defaultEditor = true;
|
|
viAlias = true;
|
|
vimAlias = true;
|
|
configure = {
|
|
packages.myVimPackage = with pkgs.vimPlugins; {
|
|
start = [ vim-nix vim-lastplace vim-airline ];
|
|
opt = [];
|
|
};
|
|
customRC = ''
|
|
" your custom vimrc
|
|
set nocompatible
|
|
set backspace=indent,eol,start
|
|
" Turn on syntax highlighting by default
|
|
syntax on
|
|
set mouse=a
|
|
set number
|
|
" ...
|
|
'';
|
|
};
|
|
};
|
|
programs.tmux = {
|
|
enable = true;
|
|
escapeTime = 0;
|
|
clock24 = true;
|
|
extraConfig = ''
|
|
bind | split-window -h -c "#{pane_current_path}"
|
|
bind - split-window -v -c "#{pane_current_path}"
|
|
unbind '"'
|
|
unbind %
|
|
|
|
bind -n M-Left select-pane -L
|
|
bind -n M-Right select-pane -R
|
|
bind -n M-Up select-pane -U
|
|
bind -n M-Down select-pane -D
|
|
'';
|
|
};
|
|
environment.systemPackages = with pkgs; [
|
|
nvd
|
|
nixpkgs-fmt
|
|
# nix-output-monitor
|
|
coreutils
|
|
mime-types
|
|
file
|
|
usbutils
|
|
pciutils
|
|
gitFull
|
|
git-crypt
|
|
];
|
|
|
|
nix = let
|
|
users = [ "root" ] ++ config.gg.users.admins;
|
|
in
|
|
{
|
|
gc = {
|
|
automatic = true;
|
|
options = "--delete-older-than 30d";
|
|
dates = "weekly";
|
|
};
|
|
|
|
settings = {
|
|
allowed-users =[ "root" "@users" ];
|
|
auto-optimise-store = true;
|
|
experimental-features = [ "nix-command" "flakes" ];
|
|
http-connections = 50;
|
|
keep-derivations = true;
|
|
keep-outputs = true;
|
|
log-lines = 50;
|
|
trusted-users = users;
|
|
warn-dirty = false;
|
|
};
|
|
|
|
registry = {
|
|
nixpkgs.flake = inputs.nixpkgs;
|
|
nixconf.to = {
|
|
type = "git";
|
|
url = "https://git.solarpunk.moe/geekygays/nixconf";
|
|
};
|
|
};
|
|
nixPath = [
|
|
"nixpkgs=flake:nixpkgs"
|
|
"nixconf=flake:nixconf"
|
|
];
|
|
};
|
|
}
|