machine: uninsane: port to home-manager

This commit is contained in:
Colin 2022-05-22 09:40:36 +00:00
parent 71957428e2
commit 92769da8e5
4 changed files with 100 additions and 57 deletions

View File

@ -0,0 +1,91 @@
# docs:
# https://rycee.gitlab.io/home-manager/
# man home-configuration.nix
{ config, pkgs, ... }:
{
home.stateVersion = "21.11";
home.username = "colin";
home.homeDirectory = "/home/colin";
programs.home-manager.enable = true;
programs.zsh.enable = true;
programs.git = {
enable = true;
userName = "colin";
userEmail = "colin@uninsane.org";
};
programs.vim = {
enable = true;
extraConfig = ''
" wtf vim project: NOBODY LIKES MOUSE FOR VISUAL MODE
set mouse-=a
" copy/paste to system clipboard
set clipboard=unnamedplus
" <tab> completion menu settings
set wildmenu
set wildmode=longest,list,full
" highlight all matching searches (using / and ?)
set hlsearch
" allow backspace to delete empty lines in insert mode
set backspace=indent,eol,start
" built-in syntax highlighting
syntax enable
" show line/col number in bottom right
set ruler
" highlight trailing space & related syntax errors (does this work?)
let c_space_errors=1
let python_space_errors=1
'';
};
home.packages = [
pkgs.btrfs-progs
pkgs.gnumake
pkgs.dig
pkgs.duplicity
pkgs.fatresize
pkgs.fd
pkgs.file
pkgs.gptfdisk
pkgs.hdparm
pkgs.htop
pkgs.iftop
pkgs.iotop
pkgs.iptables
pkgs.jq
pkgs.killall
pkgs.lm_sensors # for sensors-detect
pkgs.lsof
pkgs.pciutils
pkgs.mix2nix
pkgs.netcat
pkgs.nixUnstable
# pkgs.nettools
pkgs.nmap
pkgs.parted
pkgs.powertop
pkgs.python3
pkgs.ripgrep
pkgs.smartmontools
pkgs.snapper
pkgs.socat
pkgs.sudo
pkgs.telnet
pkgs.usbutils
pkgs.vulnix
pkgs.wireguard
pkgs.zola
pkgs.matrix-synapse
# graphical
# pkgs.clinfo
# pkgs.discord
# pkgs.element-desktop
# pkgs.gnome.dconf-editor
# pkgs.mesa-demos
# pkgs.tdesktop
];
}

View File

@ -4,6 +4,7 @@
imports = [
./fs.nix
./hardware.nix
./homes.nix
./net.nix
./users.nix
./services/duplicity.nix

View File

@ -0,0 +1,8 @@
{ home-manager, config, pkgs, ... }:
{
imports = [ home-manager.nixosModule ];
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users.colin.imports = [ ./colin.nix ];
}

View File

@ -12,8 +12,6 @@
isNormalUser = true;
home = "/home/colin";
uid = 1000;
# XXX colin: this is what the installer has, but is it necessary?
# group = "users";
extraGroups = [ "wheel" "nixbuild" ];
initialHashedPassword = "";
shell = pkgs.bashInteractive;
@ -24,61 +22,6 @@
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIG+MZ/l5d8g5hbxMB9ed1uyvhV85jwNrSVNVxb5ujQjw colin@lappy"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPU5GlsSfbaarMvDA20bxpSZGWviEzXGD8gtrIowc1pX colin@desko"
];
packages = [
pkgs.gnumake
pkgs.dig
pkgs.duplicity
pkgs.fatresize
pkgs.fd
pkgs.file
pkgs.git
pkgs.gptfdisk
pkgs.hdparm
pkgs.htop
pkgs.iftop
pkgs.iotop
pkgs.iptables
pkgs.jq
pkgs.lsof
pkgs.matrix-synapse
pkgs.mix2nix
pkgs.netcat
pkgs.nettools
pkgs.nmap
pkgs.parted
pkgs.python3
pkgs.ripgrep
pkgs.smartmontools
pkgs.socat
pkgs.sudo
pkgs.telnet
pkgs.vulnix
pkgs.wireguard
pkgs.zola
(pkgs.vim_configurable.customize {
name = "vim";
vimrcConfig.customRC = ''
" wtf vim project: NOBODY LIKES MOUSE FOR VISUAL MODE
set mouse-=a
" copy/paste to system clipboard
set clipboard=unnamedplus
" <tab> completion menu settings
set wildmenu
set wildmode=longest,list,full
" highlight all matching searches (using / and ?)
set hlsearch
" allow backspace to delete empty lines in insert mode
set backspace=indent,eol,start
" built-in syntax highlighting
syntax enable
" show line/col number in bottom right
set ruler
" highlight trailing space & related syntax errors (does this work?)
let c_space_errors=1
let python_space_errors=1
'';
})
];
};
# automatically log in at the virtual consoles.