WIP
This commit is contained in:
parent
53f162839a
commit
c18bcabd31
4
.gitmodules
vendored
4
.gitmodules
vendored
|
@ -11,8 +11,8 @@
|
||||||
path = home-common/graphical/rofi/zzzfoo
|
path = home-common/graphical/rofi/zzzfoo
|
||||||
url = https://github.com/andersju/zzzfoo.git
|
url = https://github.com/andersju/zzzfoo.git
|
||||||
[submodule "modules/cdarknet/hosts"]
|
[submodule "modules/cdarknet/hosts"]
|
||||||
path = system/cdarknet/hosts
|
path = system/modules/cdarknet/hosts
|
||||||
url = git@git.darmstadt.ccc.de:cdark.net/hosts
|
url = git@git.darmstadt.ccc.de:cdark.net/hosts
|
||||||
[submodule "modules/cdarknet/nixdark"]
|
[submodule "modules/cdarknet/nixdark"]
|
||||||
path = system/cdarknet/nixdark
|
path = system/modules/cdarknet/nixdark
|
||||||
url = git@git.darmstadt.ccc.de:cdark.net/nixdark
|
url = git@git.darmstadt.ccc.de:cdark.net/nixdark
|
||||||
|
|
|
@ -1,12 +1,32 @@
|
||||||
{ pkgs, config, ... }:
|
{ pkgs, config, ... }:
|
||||||
{
|
{
|
||||||
nixpkgs.config.packageOverrides = pkgs: {
|
imports = [
|
||||||
rust-scripts = pkgs.callPackage ./packages/rust-scripts {};
|
./zsh
|
||||||
jali = pkgs.callPackage ./packages/jali {};
|
./modules/taskwarrior.nix
|
||||||
|
./modules/force-copies.nix
|
||||||
|
./modules/battery.nix
|
||||||
|
./modules/laptop.nix
|
||||||
|
./modules/accounting.nix
|
||||||
|
./modules/rustdev.nix
|
||||||
|
./modules/latex.nix
|
||||||
|
./modules/sleep-nag.nix
|
||||||
|
./modules/graphical
|
||||||
|
./modules/home-options.nix
|
||||||
|
# ./sort-mail.nix
|
||||||
|
# ./morgenreport.nix
|
||||||
|
# ./my-systems.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
nixpkgs.config.packageOverrides = pkgs: with pkgs; {
|
||||||
|
tasktree = callPackage ./packages/tasktree {};
|
||||||
|
rust-scripts = callPackage ./packages/rust-scripts {};
|
||||||
|
jali = with pkgs; callPackage ./packages/jali {};
|
||||||
eventd = (import <unstable> {}).callPackage ./packages/eventd {};
|
eventd = (import <unstable> {}).callPackage ./packages/eventd {};
|
||||||
st = (import graphical/st) pkgs config.common.colors;
|
st = (import packages/st) pkgs config.common.colors;
|
||||||
|
neovim = (import ./nvim) pkgs config.m-0.rustdev.enable;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
home.file.".tmux.conf".text = ''
|
home.file.".tmux.conf".text = ''
|
||||||
set -g default-terminal "st-256color"
|
set -g default-terminal "st-256color"
|
||||||
set -ga terminal-overrides ",st-256color:Tc"
|
set -ga terminal-overrides ",st-256color:Tc"
|
||||||
|
@ -80,20 +100,6 @@
|
||||||
{ host = "door.w17.io"; identityFile = "~/.ssh/door_rsa";}
|
{ host = "door.w17.io"; identityFile = "~/.ssh/door_rsa";}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
zsh = {
|
|
||||||
enable = true;
|
|
||||||
enableAutosuggestions = true;
|
|
||||||
enableCompletion = true;
|
|
||||||
history = {
|
|
||||||
save = 100000;
|
|
||||||
size = 100000;
|
|
||||||
};
|
|
||||||
initExtra = builtins.readFile ./configs/zshrc;
|
|
||||||
oh-my-zsh = {
|
|
||||||
enable = true;
|
|
||||||
plugins = [ "colored-man-pages" "git-prompt" ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
home.sessionVariables = {
|
home.sessionVariables = {
|
||||||
|
@ -103,66 +109,8 @@
|
||||||
};
|
};
|
||||||
systemd.user.startServices = true;
|
systemd.user.startServices = true;
|
||||||
|
|
||||||
imports = [
|
|
||||||
./taskwarrior.nix
|
|
||||||
./force-copies.nix
|
|
||||||
];
|
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
htop
|
neovim
|
||||||
tree
|
|
||||||
st.terminfo
|
|
||||||
most
|
|
||||||
|
|
||||||
socat
|
|
||||||
nmap
|
|
||||||
tcpdump
|
|
||||||
|
|
||||||
git-crypt
|
|
||||||
rcm
|
|
||||||
tmux
|
|
||||||
tig
|
|
||||||
exa
|
|
||||||
fzf
|
|
||||||
ag
|
|
||||||
|
|
||||||
pythonPackages.qrcode
|
|
||||||
ranger
|
|
||||||
|
|
||||||
(pkgs.neovim.override {
|
|
||||||
vimAlias = true;
|
|
||||||
withPython3 = true;
|
|
||||||
configure = {
|
|
||||||
customRC = ''
|
|
||||||
let $RUST_SRC_PATH="${pkgs.rustPlatform.rustcSrc}"
|
|
||||||
let g:rustfmt_command = "${pkgs.rustfmt}/bin/rustfmt"
|
|
||||||
let g:racer_cmd = "${pkgs.rustracer}/bin/racer"
|
|
||||||
let g:deoplete#sources#rust#racer_binary='${pkgs.rustracer}/bin/racer'
|
|
||||||
let g:syntastic_rust_rustc_exe = '${pkgs.cargo}/bin/cargo check'
|
|
||||||
${builtins.readFile ./configs/vimrc}
|
|
||||||
'';
|
|
||||||
packages.myVimPackage = with pkgs.vimPlugins; {
|
|
||||||
start = [
|
|
||||||
vim-nix
|
|
||||||
ctrlp
|
|
||||||
vimtex
|
|
||||||
Syntastic
|
|
||||||
UltiSnips
|
|
||||||
airline
|
|
||||||
rust-vim
|
|
||||||
fugitive
|
|
||||||
airline
|
|
||||||
vim-trailing-whitespace
|
|
||||||
vim-polyglot
|
|
||||||
nvim-cm-racer
|
|
||||||
nvim-completion-manager
|
|
||||||
vim-pandoc
|
|
||||||
nerdcommenter
|
|
||||||
vim-signify
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
})
|
|
||||||
];
|
];
|
||||||
xdg.enable = true;
|
xdg.enable = true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,115 +0,0 @@
|
||||||
{ pkgs, lib, config, ... }:
|
|
||||||
let
|
|
||||||
workspaces = config.common.workspaces;
|
|
||||||
terminal = config.common.terminal;
|
|
||||||
colors = config.common.colors;
|
|
||||||
#rofiScriptWeb = pkgs.writeShellScriptBin "rofi-script-web" ''
|
|
||||||
#if [[ -z $@ ]]; then
|
|
||||||
#sed 's/^[0-9]*\(-r\)\? \?//;s/^\([^[:space:]]*\).*$/\1/' $HOME/.local/share/qutebrowser/history | tac
|
|
||||||
#else
|
|
||||||
#${pkgs.qutebrowser}/bin/qutebrowser "$1" > /dev/null &
|
|
||||||
#fi
|
|
||||||
#'';
|
|
||||||
#rofiScriptI3 = pkgs.writeShellScriptBin "rofi-script-i3" ''
|
|
||||||
#if [ -z $@ ]; then
|
|
||||||
#(i3-msg -t get_workspaces | tr ',' '\n' | grep "name" | sed 's/"name":"\(.*\)"/\1/g';
|
|
||||||
#echo "${builtins.concatStringsSep "\n" (builtins.foldl' (labels: name: let
|
|
||||||
#number = toString (builtins.length labels);
|
|
||||||
#in
|
|
||||||
#labels ++ [ "${number}:${name}" ]
|
|
||||||
#) [] workspaces)}") | sort -u
|
|
||||||
#else
|
|
||||||
#i3-msg workspace "$@" >/dev/null
|
|
||||||
#fi
|
|
||||||
#'';
|
|
||||||
rofiTask = pkgs.writeScriptBin "tasklauncher" (builtins.readFile ./tasklauncher.py);
|
|
||||||
# recollPython = pkgs.python2.withPackages (ps: [
|
|
||||||
# pkgs.recoll
|
|
||||||
# ]);
|
|
||||||
# rofiFind = pkgs.writeScriptBin "zzzfoo" (builtins.replaceStrings [ "/usr/bin/env python" ] [ "${recollPython}/bin/python" ] (builtins.readFile ./zzzfoo/zzzfoo));
|
|
||||||
in {
|
|
||||||
home = {
|
|
||||||
packages = with pkgs; [
|
|
||||||
rofi
|
|
||||||
#rofiScriptWeb
|
|
||||||
#rofiScriptI3
|
|
||||||
rofiTask
|
|
||||||
# rofiFind
|
|
||||||
rofi-pass
|
|
||||||
# recoll
|
|
||||||
];
|
|
||||||
};
|
|
||||||
programs = {
|
|
||||||
rofi = {
|
|
||||||
enable = true;
|
|
||||||
extraConfig = ''
|
|
||||||
rofi.modi: combi,window,drun,run,ssh,keys
|
|
||||||
rofi.combi-modi: window,drun,run
|
|
||||||
'';
|
|
||||||
borderWidth = 0;
|
|
||||||
separator = "none";
|
|
||||||
fullscreen = false;
|
|
||||||
terminal = terminal;
|
|
||||||
yoffset = 19;
|
|
||||||
location = "top";
|
|
||||||
scrollbar = false;
|
|
||||||
padding = 10;
|
|
||||||
cycle = false;
|
|
||||||
lines = 30;
|
|
||||||
colors = {
|
|
||||||
window = {
|
|
||||||
background = "argb:c0${builtins.substring 1 6 colors.background}";
|
|
||||||
border = colors.blue;
|
|
||||||
separator = colors.blue;
|
|
||||||
};
|
|
||||||
|
|
||||||
rows = {
|
|
||||||
normal = {
|
|
||||||
background = colors.background;
|
|
||||||
foreground = colors.foreground;
|
|
||||||
backgroundAlt = colors.black;
|
|
||||||
highlight = {
|
|
||||||
background = colors.blue;
|
|
||||||
foreground = colors.white;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
active = {
|
|
||||||
background = colors.background;
|
|
||||||
foreground = colors.foreground;
|
|
||||||
backgroundAlt = colors.black;
|
|
||||||
highlight = {
|
|
||||||
background = colors.blue;
|
|
||||||
foreground = colors.white;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
urgent = {
|
|
||||||
background = colors.background;
|
|
||||||
foreground = colors.foreground;
|
|
||||||
backgroundAlt = colors.black;
|
|
||||||
highlight = {
|
|
||||||
background = colors.blue;
|
|
||||||
foreground = colors.white;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
#colors = {
|
|
||||||
#window = {
|
|
||||||
#background = "argb:${builtins.substring 1 6 colors.background}22";
|
|
||||||
#border = colors.blue;
|
|
||||||
#separator = colors.blue;
|
|
||||||
#};
|
|
||||||
#rows = {
|
|
||||||
#normal = {
|
|
||||||
#background = colors.background;
|
|
||||||
#foreground = colors.foreground;
|
|
||||||
#backgroundAlt = colors.black;
|
|
||||||
#highlight = {
|
|
||||||
#background = colors.blue;
|
|
||||||
#foreground = colors.white;
|
|
||||||
#};
|
|
||||||
#};
|
|
||||||
#};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,26 +0,0 @@
|
||||||
{ pkgs, ... }:
|
|
||||||
let
|
|
||||||
habitask = with pkgs; with rustPlatform; buildRustPackage rec {
|
|
||||||
name = "habitask";
|
|
||||||
version = "0.1.0";
|
|
||||||
src = ~/data/aktuell/it/code/habitask;
|
|
||||||
depsSha256 = "0clac943ajxns64jkdcg312a4x4jgd239jb4yd5qm32nnkj62ym7";
|
|
||||||
cargoSha256 = "0clac943ajxns64jkdcg312a4x4jgd239jb4yd5qm32nnkj62ym7";
|
|
||||||
buildInputs = [ openssl pkgconfig ];
|
|
||||||
};
|
|
||||||
in {
|
|
||||||
systemd.user = {
|
|
||||||
services.habitask = {
|
|
||||||
Unit = {
|
|
||||||
Description = "Update habitica Tasks";
|
|
||||||
};
|
|
||||||
Service = {
|
|
||||||
Type = "oneshot";
|
|
||||||
ExecStart="{habitask}/bin/habitask";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
timers.habitask = {
|
|
||||||
Timer.OnCalendar = "6:00";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
16
home-manager/modules/accounting.nix
Normal file
16
home-manager/modules/accounting.nix
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
{ lib, pkgs, config, ...}:
|
||||||
|
with lib;
|
||||||
|
{
|
||||||
|
|
||||||
|
options.m-0.accounting.enable = mkEnableOption "Accounting";
|
||||||
|
|
||||||
|
config = mkIf config.m-0.accounting.enable {
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
hledger
|
||||||
|
haskellPackages.hledger-ui
|
||||||
|
ledger
|
||||||
|
jali
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
|
@ -1,4 +1,5 @@
|
||||||
{pkgs, ... }:
|
{ lib, pkgs, ... }:
|
||||||
|
with lib;
|
||||||
let
|
let
|
||||||
battery-watch = pkgs.writeShellScriptBin "battery-watch" ''
|
battery-watch = pkgs.writeShellScriptBin "battery-watch" ''
|
||||||
critical_level=20 #percent
|
critical_level=20 #percent
|
||||||
|
@ -18,6 +19,10 @@ do
|
||||||
done
|
done
|
||||||
'';
|
'';
|
||||||
in {
|
in {
|
||||||
|
|
||||||
|
options.m-0.battery.enable = mkEnableOption "Battery";
|
||||||
|
|
||||||
|
config = mkIf config.m-0.battery.enable {
|
||||||
systemd.user = {
|
systemd.user = {
|
||||||
services.battery = {
|
services.battery = {
|
||||||
Unit = {
|
Unit = {
|
||||||
|
@ -31,4 +36,6 @@ in {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
};
|
||||||
|
|
||||||
}
|
}
|
|
@ -1,12 +1,13 @@
|
||||||
{ pkgs, lib, ... }:
|
{ pkgs, lib, config, ... }:
|
||||||
let
|
with lib;
|
||||||
tasktree = with pkgs; callPackage ../../packages/tasktree {};
|
{
|
||||||
in {
|
|
||||||
imports = [
|
options.m-0.graphical.enable = mkEnableOption "Window Manager";
|
||||||
./i3.nix
|
|
||||||
../../modules/home-options.nix
|
#imports = if config.m-0.graphical.enable then [ ./i3.nix ] else [];
|
||||||
];
|
|
||||||
common = {
|
config = mkIf config.m-0.graphical.enable {
|
||||||
|
m-0 = {
|
||||||
workspaces = [
|
workspaces = [
|
||||||
"tasks"
|
"tasks"
|
||||||
"chat"
|
"chat"
|
||||||
|
@ -20,26 +21,26 @@ in {
|
||||||
"config"
|
"config"
|
||||||
];
|
];
|
||||||
terminal = "${pkgs.st}/bin/st";
|
terminal = "${pkgs.st}/bin/st";
|
||||||
colors = {
|
colors = {
|
||||||
"foreground" = "#dddbff";
|
"foreground" = "#dddbff";
|
||||||
"background" = "#05004a";
|
"background" = "#05004a";
|
||||||
"black" = "#030031";
|
"black" = "#030031";
|
||||||
"brightBlack" = "#55508f";
|
"brightBlack" = "#55508f";
|
||||||
"red" = "#e34b4f";
|
"red" = "#e34b4f";
|
||||||
"brightRed" = "#e34b4f";
|
"brightRed" = "#e34b4f";
|
||||||
"green" = "#67b779";
|
"green" = "#67b779";
|
||||||
"brightGreen" = "#45b75e";
|
"brightGreen" = "#45b75e";
|
||||||
"yellow" = "#ff9c00";
|
"yellow" = "#ff9c00";
|
||||||
"brightYellow" = "#ff9c00";
|
"brightYellow" = "#ff9c00";
|
||||||
"blue" = "#5c67ff";
|
"blue" = "#5c67ff";
|
||||||
"brightBlue" = "#5c67ff";
|
"brightBlue" = "#5c67ff";
|
||||||
"magenta" = "#cb85ff";
|
"magenta" = "#cb85ff";
|
||||||
"brightMagenta" = "#cb85ff";
|
"brightMagenta" = "#cb85ff";
|
||||||
"cyan" = "#17d0f4";
|
"cyan" = "#17d0f4";
|
||||||
"brightCyan" = "#17d0f4";
|
"brightCyan" = "#17d0f4";
|
||||||
"white" = "#dddbff";
|
"white" = "#dddbff";
|
||||||
"brightWhite" = "#ffffff";
|
"brightWhite" = "#ffffff";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
home = {
|
home = {
|
||||||
packages = with pkgs; [
|
packages = with pkgs; [
|
||||||
|
@ -99,4 +100,6 @@ in {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
xsession.enable = true;
|
xsession.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
}
|
}
|
|
@ -1,8 +1,8 @@
|
||||||
{ pkgs, lib, config, ... }:
|
{ pkgs, lib, config, ... }:
|
||||||
let
|
let
|
||||||
colors = config.common.colors;
|
colors = config.m-0.colors;
|
||||||
workspaces = config.common.workspaces;
|
workspaces = config.m-0.workspaces;
|
||||||
terminal = config.common.terminal;
|
terminal = config.m-0.terminal;
|
||||||
exec = "exec --no-startup-id";
|
exec = "exec --no-startup-id";
|
||||||
taskstatus = pkgs.writeShellScriptBin "taskstatus" ''
|
taskstatus = pkgs.writeShellScriptBin "taskstatus" ''
|
||||||
while true;
|
while true;
|
||||||
|
@ -29,7 +29,6 @@ in {
|
||||||
./rofi
|
./rofi
|
||||||
./urxvt.nix
|
./urxvt.nix
|
||||||
];
|
];
|
||||||
home.packages = [ pkgs.skippy-xd ];
|
|
||||||
xsession = {
|
xsession = {
|
||||||
windowManager.i3 = {
|
windowManager.i3 = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
@ -123,7 +122,7 @@ in {
|
||||||
"XF86AudioMicMute" = "exec pactl set-source-mute '@DEFAULT_SOURCE@' toggle";
|
"XF86AudioMicMute" = "exec pactl set-source-mute '@DEFAULT_SOURCE@' toggle";
|
||||||
"XF86MonBrightnessUp" = "exec xbacklight +5";
|
"XF86MonBrightnessUp" = "exec xbacklight +5";
|
||||||
"XF86MonBrightnessDown" = "exec xbacklight -5";
|
"XF86MonBrightnessDown" = "exec xbacklight -5";
|
||||||
"XF86Display" = "exec arandr";
|
"XF86Display" = "${exec} ${pkgs.arandr}/bin/arandr";
|
||||||
"Ctrl+Escape" = "${exec} loginctl lock-session;";
|
"Ctrl+Escape" = "${exec} loginctl lock-session;";
|
||||||
} //
|
} //
|
||||||
addMods ({
|
addMods ({
|
||||||
|
@ -131,7 +130,7 @@ in {
|
||||||
"Down" = "focus down";
|
"Down" = "focus down";
|
||||||
"Up" = "focus up";
|
"Up" = "focus up";
|
||||||
"Right" = "focus right";
|
"Right" = "focus right";
|
||||||
"Tab" = "${exec} skippy-xd";
|
"Tab" = "${exec} ${pkgs.skippy-xd}/bin/skippy-xd";
|
||||||
"Prior" = "focus parent";
|
"Prior" = "focus parent";
|
||||||
"Next" = "focus child";
|
"Next" = "focus child";
|
||||||
"Return" = "${exec} ${terminal}";
|
"Return" = "${exec} ${terminal}";
|
70
home-manager/modules/graphical/rofi/default.nix
Normal file
70
home-manager/modules/graphical/rofi/default.nix
Normal file
|
@ -0,0 +1,70 @@
|
||||||
|
{ pkgs, lib, config, ... }:
|
||||||
|
let
|
||||||
|
workspaces = config.m-0.workspaces;
|
||||||
|
terminal = config.m-0.terminal;
|
||||||
|
colors = config.m-0.colors;
|
||||||
|
rofiTask = pkgs.writeScriptBin "tasklauncher" (builtins.readFile ./tasklauncher.py);
|
||||||
|
in {
|
||||||
|
home = {
|
||||||
|
packages = with pkgs; [
|
||||||
|
rofi
|
||||||
|
rofiTask
|
||||||
|
rofi-pass
|
||||||
|
];
|
||||||
|
};
|
||||||
|
programs = {
|
||||||
|
rofi = {
|
||||||
|
enable = true;
|
||||||
|
extraConfig = ''
|
||||||
|
rofi.modi: combi,window,drun,run,ssh,keys
|
||||||
|
rofi.combi-modi: window,drun,run
|
||||||
|
'';
|
||||||
|
borderWidth = 0;
|
||||||
|
separator = "none";
|
||||||
|
fullscreen = false;
|
||||||
|
terminal = terminal;
|
||||||
|
yoffset = 19;
|
||||||
|
location = "top";
|
||||||
|
scrollbar = false;
|
||||||
|
padding = 10;
|
||||||
|
cycle = false;
|
||||||
|
lines = 30;
|
||||||
|
colors = {
|
||||||
|
window = {
|
||||||
|
background = "argb:c0${builtins.substring 1 6 colors.background}";
|
||||||
|
border = colors.blue;
|
||||||
|
separator = colors.blue;
|
||||||
|
};
|
||||||
|
rows = {
|
||||||
|
normal = {
|
||||||
|
background = colors.background;
|
||||||
|
foreground = colors.foreground;
|
||||||
|
backgroundAlt = colors.black;
|
||||||
|
highlight = {
|
||||||
|
background = colors.blue;
|
||||||
|
foreground = colors.white;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
active = {
|
||||||
|
background = colors.background;
|
||||||
|
foreground = colors.foreground;
|
||||||
|
backgroundAlt = colors.black;
|
||||||
|
highlight = {
|
||||||
|
background = colors.blue;
|
||||||
|
foreground = colors.white;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
urgent = {
|
||||||
|
background = colors.background;
|
||||||
|
foreground = colors.foreground;
|
||||||
|
backgroundAlt = colors.black;
|
||||||
|
highlight = {
|
||||||
|
background = colors.blue;
|
||||||
|
foreground = colors.white;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -1,21 +1,22 @@
|
||||||
{ lib, config, pkgs, ... }:
|
{ lib, config, pkgs, ... }:
|
||||||
|
|
||||||
with lib;
|
with lib;
|
||||||
{
|
{
|
||||||
options = {
|
|
||||||
common = {
|
options = {
|
||||||
terminal = mkOption {
|
m-0 = {
|
||||||
default = "urxvt";
|
terminal = mkOption {
|
||||||
type = types.str;
|
default = "urxvt";
|
||||||
};
|
type = types.str;
|
||||||
colors = mkOption {
|
};
|
||||||
default = {};
|
colors = mkOption {
|
||||||
type = types.attrs;
|
default = {};
|
||||||
};
|
type = types.attrs;
|
||||||
workspaces = mkOption {
|
};
|
||||||
default = [ "configure some workspaces" ];
|
workspaces = mkOption {
|
||||||
type = types.listOf types.str;
|
default = [ "configure some workspaces" ];
|
||||||
};
|
type = types.listOf types.str;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
73
home-manager/modules/laptop.nix
Normal file
73
home-manager/modules/laptop.nix
Normal file
|
@ -0,0 +1,73 @@
|
||||||
|
{ lib, pkgs, config, ...}:
|
||||||
|
with lib;
|
||||||
|
{
|
||||||
|
|
||||||
|
options.m-0.laptop.enable = mkEnableOption "Laptop";
|
||||||
|
|
||||||
|
config = mkIf config.m-0.laptop.enable {
|
||||||
|
programs = {
|
||||||
|
firefox = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
git = {
|
||||||
|
signing = {
|
||||||
|
signByDefault = true;
|
||||||
|
key = "6C3D12CD88CDF46C5EAF4D12226A2D41EF5378C9";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
home.sessionVariables = {
|
||||||
|
MOZ_USE_XINPUT2 = "1";
|
||||||
|
};
|
||||||
|
|
||||||
|
services = {
|
||||||
|
udiskie = {
|
||||||
|
enable = true;
|
||||||
|
notify = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
chromium
|
||||||
|
signal-desktop
|
||||||
|
tdesktop
|
||||||
|
acpi
|
||||||
|
dino
|
||||||
|
|
||||||
|
arandr
|
||||||
|
|
||||||
|
mumble
|
||||||
|
|
||||||
|
xorg.xev
|
||||||
|
xorg.xbacklight
|
||||||
|
meld
|
||||||
|
|
||||||
|
icedtea8_web
|
||||||
|
|
||||||
|
# tools & office
|
||||||
|
feh
|
||||||
|
gimp
|
||||||
|
imagemagick
|
||||||
|
libreoffice-fresh
|
||||||
|
pandoc
|
||||||
|
xournal
|
||||||
|
musescore
|
||||||
|
handbrake
|
||||||
|
octave
|
||||||
|
|
||||||
|
# look & feel
|
||||||
|
libertine
|
||||||
|
nerdfonts
|
||||||
|
|
||||||
|
# media
|
||||||
|
ncmpcpp
|
||||||
|
pavucontrol
|
||||||
|
deluge
|
||||||
|
mpd
|
||||||
|
gmpc
|
||||||
|
calibre
|
||||||
|
mpv
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
|
@ -1,5 +1,10 @@
|
||||||
{ pkgs, ... }:
|
{ lib, pkgs, config, ... }:
|
||||||
|
with lib;
|
||||||
{
|
{
|
||||||
|
|
||||||
|
options.m-0.latex.enable = mkEnableOption "Latex";
|
||||||
|
|
||||||
|
config = mkIf config.m-0.latex.enable {
|
||||||
programs = {
|
programs = {
|
||||||
texlive = {
|
texlive = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
@ -9,7 +14,7 @@
|
||||||
collection-latexextra
|
collection-latexextra
|
||||||
collection-bibtexextra
|
collection-bibtexextra
|
||||||
collection-luatex
|
collection-luatex
|
||||||
# collection-math
|
collection-scimath
|
||||||
collection-fontsextra;
|
collection-fontsextra;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -17,4 +22,6 @@
|
||||||
home.packages = [
|
home.packages = [
|
||||||
pkgs.biber
|
pkgs.biber
|
||||||
];
|
];
|
||||||
|
};
|
||||||
|
|
||||||
}
|
}
|
|
@ -1,40 +0,0 @@
|
||||||
{ lib, config, pkgs, ... }:
|
|
||||||
|
|
||||||
with lib;
|
|
||||||
{
|
|
||||||
options = {
|
|
||||||
mpd = {
|
|
||||||
mkOption {
|
|
||||||
default = false;
|
|
||||||
type = types.bool;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
systemd.user = {
|
|
||||||
services.morgenreport =
|
|
||||||
let
|
|
||||||
morgenreport-script = pkgs.writeShellScriptBin "morgenreport" ''
|
|
||||||
cd $HOME/data/aktuell/media/ebooks/morgenreport/
|
|
||||||
DATE=`date +%Y-%m-%d`
|
|
||||||
${pkgs.calibre}/bin/ebook-convert $HOME/data/aktuell/it/code/calibre-recipes/morgenreport.recipe morgenreport-$DATE.mobi --output-profile=kindle_pw3
|
|
||||||
echo "File created, sending to kindle now …"
|
|
||||||
PATH=$PATH:/run/wrappers/bin/
|
|
||||||
echo 'Siehe Anhang' | ${pkgs.mutt}/bin/mutt -s "Morgenreport $DATE" -a morgenreport-$DATE.mobi -- maralorn@kindle.com
|
|
||||||
'';
|
|
||||||
in {
|
|
||||||
Unit = {
|
|
||||||
Description = "Send morgenreport to kindle";
|
|
||||||
};
|
|
||||||
|
|
||||||
Service = {
|
|
||||||
Type = "oneshot";
|
|
||||||
ExecStart="/bin/sh ${morgenreport-script}/bin/morgenreport";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
timers.morgenreport = {
|
|
||||||
Timer = {
|
|
||||||
OnCalendar = "20:00";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
14
home-manager/modules/rustdev.nix
Normal file
14
home-manager/modules/rustdev.nix
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
{ lib, pkgs, config, ...}:
|
||||||
|
with lib;
|
||||||
|
{
|
||||||
|
|
||||||
|
options.m-0.rustdev.enable = mkEnableOption "Rust Dev";
|
||||||
|
|
||||||
|
config = mkIf config.m-0.rustdev.enable {
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
gnome3.glade
|
||||||
|
rustracer
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
|
@ -1,4 +1,5 @@
|
||||||
{pkgs, ... }:
|
{ lib, pkgs, config, ... }:
|
||||||
|
with lib;
|
||||||
let
|
let
|
||||||
sleep-nag = pkgs.writeShellScriptBin "sleep-nag" ''
|
sleep-nag = pkgs.writeShellScriptBin "sleep-nag" ''
|
||||||
while true
|
while true
|
||||||
|
@ -10,6 +11,10 @@ do
|
||||||
done
|
done
|
||||||
'';
|
'';
|
||||||
in {
|
in {
|
||||||
|
|
||||||
|
options.m-0.sleep-nag.enable = mkEnableOption "Sleep Nag";
|
||||||
|
|
||||||
|
config = mkIf config.m-0.sleep-nag.enable {
|
||||||
systemd.user = {
|
systemd.user = {
|
||||||
services.sleep-nag = {
|
services.sleep-nag = {
|
||||||
Unit = {
|
Unit = {
|
||||||
|
@ -23,4 +28,6 @@ in {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
};
|
||||||
|
|
||||||
}
|
}
|
|
@ -1,5 +1,8 @@
|
||||||
{ pkgs, lib, ... }:
|
{ lib, pkgs, config, ...}:
|
||||||
|
with lib;
|
||||||
{
|
{
|
||||||
|
options.m-0.taskwarrior.enable = mkEnableOption "Taskwarrior";
|
||||||
|
config = mkIf config.m-0.taskwarrior.enable {
|
||||||
home = {
|
home = {
|
||||||
packages = [ pkgs.taskwarrior ];
|
packages = [ pkgs.taskwarrior ];
|
||||||
file = {
|
file = {
|
||||||
|
@ -53,7 +56,7 @@
|
||||||
};
|
};
|
||||||
xdg = let
|
xdg = let
|
||||||
taskAction = name: template: {
|
taskAction = name: template: {
|
||||||
"eventd/task-${name}.action".text = lib.generators.toINI {} {
|
"eventd/task-${name}.action".text = generators.toINI {} {
|
||||||
Action = {
|
Action = {
|
||||||
Name = "task-${name}";
|
Name = "task-${name}";
|
||||||
};
|
};
|
||||||
|
@ -67,7 +70,7 @@
|
||||||
};
|
};
|
||||||
in {
|
in {
|
||||||
configFile = {
|
configFile = {
|
||||||
"eventd/task.event".text = lib.generators.toINI {} {
|
"eventd/task.event".text = generators.toINI {} {
|
||||||
"Event task add" = {
|
"Event task add" = {
|
||||||
Actions = "task-new";
|
Actions = "task-new";
|
||||||
};
|
};
|
||||||
|
@ -79,4 +82,6 @@
|
||||||
taskAction "changed" "Changes in task:\\n<b>\${description}</b>\${status:+\\nStatus: }\${status}\${tags:+\\nTags: }\${tags}\${project:+\\nProject: }\${project}" //
|
taskAction "changed" "Changes in task:\\n<b>\${description}</b>\${status:+\\nStatus: }\${status}\${tags:+\\nTags: }\${tags}\${project:+\\nProject: }\${project}" //
|
||||||
taskAction "new" "New \${status} task\${tags:! in inbox}:\\n<b>\${description}</b>\${tags:+\\nTags: }\${tags}\${project:+\\nProject: }\${project}";
|
taskAction "new" "New \${status} task\${tags:! in inbox}:\\n<b>\${description}</b>\${tags:+\\nTags: }\${tags}\${project:+\\nProject: }\${project}";
|
||||||
};
|
};
|
||||||
|
};
|
||||||
|
|
||||||
}
|
}
|
39
home-manager/nvim/default.nix
Normal file
39
home-manager/nvim/default.nix
Normal file
|
@ -0,0 +1,39 @@
|
||||||
|
pkgs: mkRust:
|
||||||
|
pkgs.neovim.override {
|
||||||
|
vimAlias = true;
|
||||||
|
withPython3 = true;
|
||||||
|
configure = {
|
||||||
|
customRC = if mkRust then ''
|
||||||
|
let $RUST_SRC_PATH="${pkgs.rustPlatform.rustcSrc}"
|
||||||
|
let g:rustfmt_command = "${pkgs.rustfmt}/bin/rustfmt"
|
||||||
|
let g:racer_cmd = "${pkgs.rustracer}/bin/racer"
|
||||||
|
let g:deoplete#sources#rust#racer_binary='${pkgs.rustracer}/bin/racer'
|
||||||
|
let g:syntastic_rust_rustc_exe = '${pkgs.cargo}/bin/cargo check'
|
||||||
|
let g:rustfmt_autosave = 1
|
||||||
|
let g:syntastic_rust_checkers = [ 'cargo']
|
||||||
|
let g:rust_recommend_style = 1
|
||||||
|
let g:rust_fold =1
|
||||||
|
${builtins.readFile ./vimrc}
|
||||||
|
'' else builtins.readFile ./vimrc;
|
||||||
|
packages.myVimPackage = with pkgs.vimPlugins; {
|
||||||
|
start = [
|
||||||
|
vim-nix
|
||||||
|
ctrlp
|
||||||
|
vimtex
|
||||||
|
Syntastic
|
||||||
|
UltiSnips
|
||||||
|
airline
|
||||||
|
rust-vim
|
||||||
|
fugitive
|
||||||
|
airline
|
||||||
|
vim-trailing-whitespace
|
||||||
|
vim-polyglot
|
||||||
|
nvim-cm-racer
|
||||||
|
nvim-completion-manager
|
||||||
|
vim-pandoc
|
||||||
|
nerdcommenter
|
||||||
|
vim-signify
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -54,17 +54,5 @@ let g:syntastic_check_on_wq = 0
|
||||||
let g:syntastic_aggregate_errors = 1
|
let g:syntastic_aggregate_errors = 1
|
||||||
let g:syntastic_enable_highlighting = 1
|
let g:syntastic_enable_highlighting = 1
|
||||||
let g:syntastic_loc_list_height = 5
|
let g:syntastic_loc_list_height = 5
|
||||||
let g:rustfmt_autosave = 1
|
|
||||||
"let g:ycm_rust_src_path = '/usr/src/rust/src'
|
|
||||||
"let g:ftplugin_rust_source_path = '/usr/src/rust/src'
|
|
||||||
let g:syntastic_rust_checkers = [ 'cargo']
|
|
||||||
let g:rust_recommend_style = 1
|
|
||||||
let g:rust_fold =1
|
|
||||||
"let g:syntastic_rust_rustc_exe = 'cargo check'
|
|
||||||
|
|
||||||
let g:deoplete#enable_at_startup = 1
|
let g:deoplete#enable_at_startup = 1
|
||||||
let g:deoplete#auto_complete_start_length = 1
|
let g:deoplete#auto_complete_start_length = 1
|
||||||
|
|
||||||
"let g:deoplete#sources#rust#racer_binary='racer'
|
|
||||||
"let g:rustfmt_command = "rustfmt"
|
|
||||||
"let g:racer_cmd = "racer"
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ jinja2, pendulum, GitPython, aqbanking, python36Packages, fetchgit }:
|
{ aqbanking, python36Packages, fetchgit }:
|
||||||
with python36Packages; buildPythonApplication rec {
|
with python36Packages; buildPythonApplication rec {
|
||||||
name = "${pname}-${version}";
|
name = "${pname}-${version}";
|
||||||
pname = "jali";
|
pname = "jali";
|
||||||
|
|
20
home-manager/zsh/default.nix
Normal file
20
home-manager/zsh/default.nix
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
{
|
||||||
|
|
||||||
|
programs = {
|
||||||
|
zsh = {
|
||||||
|
enable = true;
|
||||||
|
enableAutosuggestions = true;
|
||||||
|
enableCompletion = true;
|
||||||
|
history = {
|
||||||
|
save = 100000;
|
||||||
|
size = 100000;
|
||||||
|
};
|
||||||
|
initExtra = builtins.readFile ./zshrc;
|
||||||
|
oh-my-zsh = {
|
||||||
|
enable = true;
|
||||||
|
plugins = [ "colored-man-pages" "git-prompt" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
|
@ -1,10 +1,14 @@
|
||||||
{ config, pkgs, ... }:
|
{ config, pkgs, ... }:
|
||||||
{
|
|
||||||
|
|
||||||
imports = [
|
let
|
||||||
<home-manager/nixos>
|
me = config.m-0.private.me;
|
||||||
./hardware-configuration.nix
|
in {
|
||||||
../../system
|
|
||||||
|
imports = [
|
||||||
|
<home-manager/nixos>
|
||||||
|
./secret
|
||||||
|
./hardware-configuration.nix
|
||||||
|
../../system
|
||||||
];
|
];
|
||||||
|
|
||||||
networking = {
|
networking = {
|
||||||
|
@ -15,9 +19,7 @@ m-0 = {
|
||||||
laptop.enable = true;
|
laptop.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
home-manager.users.maralorn = {
|
home-manager.users."${me.user}" = (import ./home.nix);
|
||||||
imports = [ ./home.nix ];
|
|
||||||
};
|
|
||||||
|
|
||||||
# Use the systemd-boot EFI boot loader.
|
# Use the systemd-boot EFI boot loader.
|
||||||
boot = {
|
boot = {
|
||||||
|
@ -30,11 +32,20 @@ boot = {
|
||||||
|
|
||||||
cdark_net = {
|
cdark_net = {
|
||||||
enable = true;
|
enable = true;
|
||||||
hostName = "maralorn_apollo";
|
hostName = "${me.user}_${config.networking.hostName}";
|
||||||
ed25519PrivateKeyFile = /etc/nixos/hosts/apollo/secret/tinc/ed25519_key.priv;
|
ed25519PrivateKeyFile = /etc/nixos/hosts/apollo/secret/tinc/ed25519_key.priv;
|
||||||
hostsDirectory = /etc/nixos/system/modules/cdarknet/hosts;
|
hostsDirectory = /etc/nixos/system/modules/cdarknet/hosts;
|
||||||
ip6address = "fd23:42:cda:4342::2";
|
ip6address = "fd23:42:cda:4342::2";
|
||||||
ip4address = "172.20.71.2";
|
ip4address = "172.20.71.2";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
services = {
|
||||||
|
mpd = {
|
||||||
|
enable = true;
|
||||||
|
network.listenAddress = "::0";
|
||||||
|
musicDirectory = "/home/maralorn/data/aktuell/media/musik";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,108 +1,17 @@
|
||||||
{ pkgs, ... }:
|
{ pkgs, ... }:
|
||||||
let
|
|
||||||
jali = with pkgs.python36Packages; buildPythonApplication rec {
|
|
||||||
name = "${pname}-${version}";
|
|
||||||
pname = "jali";
|
|
||||||
doCheck = false;
|
|
||||||
version = "1d1c5d0a";
|
|
||||||
src = pkgs.fetchgit {
|
|
||||||
url = "https://git.darmstadt.ccc.de/jali/jali.git";
|
|
||||||
rev = version;
|
|
||||||
sha256 = "1nzzangp7yr2gq66qz7wk2cqqwjlhrfaqmc85qigjv4vpfmlphl0";
|
|
||||||
};
|
|
||||||
propagatedBuildInputs = with pkgs; [ jinja2 pendulum GitPython aqbanking ];
|
|
||||||
};
|
|
||||||
in
|
|
||||||
|
|
||||||
{
|
{
|
||||||
|
|
||||||
imports = [
|
imports = [
|
||||||
../../home-manager
|
../../home-manager
|
||||||
../../home-common/my-systems.nix
|
];
|
||||||
../../home-common/graphical
|
|
||||||
../../home-common/latex.nix
|
|
||||||
./battery.nix
|
|
||||||
./sleep-nag.nix
|
|
||||||
];
|
|
||||||
|
|
||||||
programs = {
|
m-0.laptop.enable = true;
|
||||||
firefox = {
|
m-0.sleep-nag.enable = true;
|
||||||
enable = true;
|
m-0.battery.enable = true;
|
||||||
};
|
m-0.latex.enable = true;
|
||||||
git = {
|
m-0.accounting.enable = true;
|
||||||
signing = {
|
m-0.graphical.enable = true;
|
||||||
signByDefault = true;
|
m-0.rustdev.enable = true;
|
||||||
key = "6C3D12CD88CDF46C5EAF4D12226A2D41EF5378C9";
|
m-0.taskwarrior.enable = true;
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
home.sessionVariables = {
|
|
||||||
MOZ_USE_XINPUT2 = "1";
|
|
||||||
};
|
|
||||||
|
|
||||||
services = {
|
|
||||||
udiskie = {
|
|
||||||
enable = true;
|
|
||||||
notify = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
home.packages = with pkgs.gnome3; [
|
|
||||||
glade
|
|
||||||
] ++ (with pkgs; [
|
|
||||||
# web
|
|
||||||
chromium
|
|
||||||
signal-desktop
|
|
||||||
tdesktop
|
|
||||||
acpi
|
|
||||||
dino
|
|
||||||
|
|
||||||
rustracer
|
|
||||||
|
|
||||||
arandr
|
|
||||||
qutebrowser
|
|
||||||
|
|
||||||
mumble
|
|
||||||
|
|
||||||
xorg.xev
|
|
||||||
xorg.xbacklight
|
|
||||||
meld
|
|
||||||
|
|
||||||
icedtea8_web
|
|
||||||
|
|
||||||
hledger
|
|
||||||
haskellPackages.hledger-ui
|
|
||||||
ledger
|
|
||||||
jali
|
|
||||||
|
|
||||||
# tools & office
|
|
||||||
feh
|
|
||||||
gimp
|
|
||||||
imagemagick
|
|
||||||
libreoffice-fresh
|
|
||||||
pandoc
|
|
||||||
xournal
|
|
||||||
musescore
|
|
||||||
handbrake
|
|
||||||
octave
|
|
||||||
|
|
||||||
# look & feel
|
|
||||||
libertine
|
|
||||||
nerdfonts
|
|
||||||
dina-font
|
|
||||||
envypn-font
|
|
||||||
google-fonts
|
|
||||||
gnome3.gnome-font-viewer
|
|
||||||
unscii
|
|
||||||
xfontsel
|
|
||||||
|
|
||||||
# media
|
|
||||||
ncmpcpp
|
|
||||||
pavucontrol
|
|
||||||
deluge
|
|
||||||
mpd
|
|
||||||
gmpc
|
|
||||||
calibre
|
|
||||||
mpv
|
|
||||||
]);
|
|
||||||
}
|
}
|
||||||
|
|
BIN
hosts/apollo/secret/default.nix
Normal file
BIN
hosts/apollo/secret/default.nix
Normal file
Binary file not shown.
|
@ -1,17 +1,18 @@
|
||||||
|
{config, ...}:
|
||||||
let
|
let
|
||||||
in
|
me = config.m-0.private.me;
|
||||||
{
|
in {
|
||||||
users.users = {
|
users.users = {
|
||||||
"${me}" = {
|
"${me.user}" = {
|
||||||
description = "${me.name}";
|
description = "${me.name}";
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
uid = 1000;
|
uid = 1000;
|
||||||
extraGroups = [ "wheel" "systemd-journal" "networkmanager" "docker" ];
|
extraGroups = [ "wheel" "systemd-journal" "networkmanager" "docker" ];
|
||||||
openssh.authorizedKeys.keys = keys;
|
openssh.authorizedKeys.keys = me.keys;
|
||||||
passwordFile = "${me.pw-file}";
|
passwordFile = "${me.pw-file}";
|
||||||
};
|
};
|
||||||
root = {
|
root = {
|
||||||
openssh.authorizedKeys.keys = keys;
|
openssh.authorizedKeys.keys = me.keys;
|
||||||
passwordFile = "${me.pw-file}";
|
passwordFile = "${me.pw-file}";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -3,11 +3,12 @@
|
||||||
# channel = 18.03
|
# channel = 18.03
|
||||||
|
|
||||||
imports = [
|
imports = [
|
||||||
./secret-option.nix
|
./secret
|
||||||
./laptop.nix
|
./modules/private-options.nix
|
||||||
|
./modules/laptop.nix
|
||||||
./admin.nix
|
./admin.nix
|
||||||
./syncthing.nix
|
# ./syncthing.nix
|
||||||
./cdarknet
|
./modules/cdarknet
|
||||||
];
|
];
|
||||||
|
|
||||||
i18n = {
|
i18n = {
|
||||||
|
@ -37,22 +38,9 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
environment = {
|
environment = {
|
||||||
systemPackages = with pkgs; [
|
# Put these into an extra file so the essential packages can also be included on non selfadminstrated systems from home-manager
|
||||||
git-crypt
|
systemPackages = let essentials = import ../system/essentials.nix;
|
||||||
git
|
in (essentials.core pkgs) ++ (essentials.extra pkgs);
|
||||||
gnumake
|
|
||||||
python3
|
|
||||||
mkpasswd
|
|
||||||
rxvt_unicode.terminfo
|
|
||||||
htop
|
|
||||||
file
|
|
||||||
tmux
|
|
||||||
socat
|
|
||||||
tcpdump
|
|
||||||
wget
|
|
||||||
curl
|
|
||||||
neovim
|
|
||||||
];
|
|
||||||
sessionVariables = {
|
sessionVariables = {
|
||||||
TERMINFO = "/run/current-system/sw/share/terminfo";
|
TERMINFO = "/run/current-system/sw/share/terminfo";
|
||||||
};
|
};
|
||||||
|
@ -65,6 +53,5 @@
|
||||||
enableCompletion = true;
|
enableCompletion = true;
|
||||||
syntaxHighlighting.enable = true;
|
syntaxHighlighting.enable = true;
|
||||||
};
|
};
|
||||||
vim.defaultEditor = true;
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
33
system/essentials.nix
Normal file
33
system/essentials.nix
Normal file
|
@ -0,0 +1,33 @@
|
||||||
|
{
|
||||||
|
core = pkgs: with pkgs; [
|
||||||
|
git
|
||||||
|
gnumake
|
||||||
|
python3
|
||||||
|
mkpasswd
|
||||||
|
file
|
||||||
|
wget
|
||||||
|
curl
|
||||||
|
(pkgs.neovim.override {vimAlias = true;})
|
||||||
|
];
|
||||||
|
extra = pkgs: with pkgs; [
|
||||||
|
git-crypt
|
||||||
|
htop
|
||||||
|
tree
|
||||||
|
rxvt_unicode.terminfo
|
||||||
|
st.terminfo
|
||||||
|
|
||||||
|
socat
|
||||||
|
nmap
|
||||||
|
tcpdump
|
||||||
|
|
||||||
|
git-crypt
|
||||||
|
tmux
|
||||||
|
tig
|
||||||
|
exa
|
||||||
|
fzf
|
||||||
|
ag
|
||||||
|
|
||||||
|
pythonPackages.qrcode
|
||||||
|
ranger
|
||||||
|
];
|
||||||
|
}
|
|
@ -2,7 +2,7 @@
|
||||||
with lib;
|
with lib;
|
||||||
{
|
{
|
||||||
options = {
|
options = {
|
||||||
m-0.secrets = mkOption {
|
m-0.private = mkOption {
|
||||||
default = {};
|
default = {};
|
||||||
type = types.attrs;
|
type = types.attrs;
|
||||||
};
|
};
|
Binary file not shown.
Loading…
Reference in a new issue