Sorry, badcommit
This commit is contained in:
parent
e558bb6e67
commit
1cde5d1099
12
.gitmodules
vendored
12
.gitmodules
vendored
|
@ -4,3 +4,15 @@
|
||||||
[submodule "system/modules/cdarknet/hosts"]
|
[submodule "system/modules/cdarknet/hosts"]
|
||||||
path = system/modules/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 "home-common/rofi/zzzfoo"]
|
||||||
|
path = home-common/rofi/zzzfoo
|
||||||
|
url = https://github.com/andersju/zzzfoo.git
|
||||||
|
[submodule "home-common/graphical/rofi/zzzfoo"]
|
||||||
|
path = home-common/graphical/rofi/zzzfoo
|
||||||
|
url = https://github.com/andersju/zzzfoo.git
|
||||||
|
[submodule "modules/cdarknet/hosts"]
|
||||||
|
path = modules/cdarknet/hosts
|
||||||
|
url = git@git.darmstadt.ccc.de:cdark.net/hosts
|
||||||
|
[submodule "modules/cdarknet/nixdark"]
|
||||||
|
path = modules/cdarknet/nixdark
|
||||||
|
url = git@git.darmstadt.ccc.de:cdark.net/nixdark
|
||||||
|
|
20
Makefile
Normal file
20
Makefile
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
default: all
|
||||||
|
|
||||||
|
all: links config
|
||||||
|
|
||||||
|
links:
|
||||||
|
ln -sfT data/aktuell/it/config ~/config
|
||||||
|
ln -sfT data/aktuell/it/config/dotfiles ~/.dotfiles
|
||||||
|
ln -sfT data/aktuell/it/config/bin ~/bin
|
||||||
|
ln -sfT ~/data/aktuell/it/config/nixos ~/.config/nixpkgs/config
|
||||||
|
ln -sfT data/aktuell/it/secrets/password-store ~/.password-store
|
||||||
|
ln -sfT data/aktuell/it/secrets/gnupg ~/.gnupg
|
||||||
|
|
||||||
|
system-links:
|
||||||
|
sudo ln -sfT ${HOME}/data/aktuell/it/config/nixos /etc/nixos/config
|
||||||
|
|
||||||
|
config:
|
||||||
|
rcup rcrc
|
||||||
|
rcup
|
||||||
|
mkdir -p ~/.vimhist/bak
|
||||||
|
touch .chpwd-recent-dirs
|
210
home-common/default.nix
Normal file
210
home-common/default.nix
Normal file
|
@ -0,0 +1,210 @@
|
||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
programs = {
|
||||||
|
home-manager = {
|
||||||
|
enable = true;
|
||||||
|
path = https://github.com/rycee/home-manager/archive/master.tar.gz;
|
||||||
|
};
|
||||||
|
git = {
|
||||||
|
enable = true;
|
||||||
|
ignores = [
|
||||||
|
".syncthing*.tmp"
|
||||||
|
"*.swp"
|
||||||
|
"*.autosave~"
|
||||||
|
"*.aux"
|
||||||
|
"*.bbl"
|
||||||
|
"*.fls"
|
||||||
|
"*.idx"
|
||||||
|
"*.ilg"
|
||||||
|
"*.ind"
|
||||||
|
"*.log"
|
||||||
|
"*.out"
|
||||||
|
"*.toc"
|
||||||
|
"*.bcf"
|
||||||
|
"*.blg"
|
||||||
|
"*.fdb*"
|
||||||
|
"*.thm"
|
||||||
|
"*.run.xml"
|
||||||
|
"*.slnc"
|
||||||
|
"*.glade~"
|
||||||
|
"__pycache__"
|
||||||
|
".hledger-web_client_session_key.aes"
|
||||||
|
".nix-gc-roots"
|
||||||
|
];
|
||||||
|
userEmail = "malte.brandy@maralorn.de";
|
||||||
|
userName = "Malte Brandy";
|
||||||
|
};
|
||||||
|
htop = {
|
||||||
|
enable = true;
|
||||||
|
hideThreads = true;
|
||||||
|
hideUserlandThreads = true;
|
||||||
|
highlightBaseName = true;
|
||||||
|
shadowOtherUsers = true;
|
||||||
|
showProgramPath = false;
|
||||||
|
treeView = true;
|
||||||
|
};
|
||||||
|
ssh = {
|
||||||
|
controlMaster = "autoask";
|
||||||
|
enable = true;
|
||||||
|
matchBlocks = let
|
||||||
|
matheGwProxy = "ssh -q gw nc -q0 %h %p";
|
||||||
|
kivaHost = "fb04386.mathematik.tu-darmstadt.de";
|
||||||
|
agHost = "fb04217.mathematik.tu-darmstadt.de";
|
||||||
|
in [
|
||||||
|
{ host = "charon"; hostname = "charon.olymp.space"; }
|
||||||
|
{ host = "*.olymp.space"; user = "maralorn"; }
|
||||||
|
{ host = "ag-forward"; hostname = agHost; proxyCommand = matheGwProxy; }
|
||||||
|
{ host = "ag"; hostname = agHost; }
|
||||||
|
{ host = "kiva-forward"; hostname = kivaHost; proxyCommand = matheGwProxy; }
|
||||||
|
{ host = "kiva"; hostname = kivaHost; }
|
||||||
|
{ host = "gw"; hostname = "gwres4.mathematik.tu-darmstadt.de"; }
|
||||||
|
{ host = "*.mathematik.tu-darmstadt.de"; user = "brandy"; }
|
||||||
|
{ host = "shells"; hostname = "shells.darmstadt.ccc.de"; }
|
||||||
|
{ host = "vorstand"; hostname = "vorstand.darmstadt.ccc.de"; }
|
||||||
|
{ host = "*.darmstadt.ccc.de"; user = "maralorn"; }
|
||||||
|
{ host = "whisky"; hostname = "whisky.w17.io"; user = "chaos"; }
|
||||||
|
];
|
||||||
|
};
|
||||||
|
zsh = {
|
||||||
|
enable = true;
|
||||||
|
enableAutosuggestions = true;
|
||||||
|
enableCompletion = true;
|
||||||
|
history = {
|
||||||
|
save = 100000;
|
||||||
|
size = 100000;
|
||||||
|
};
|
||||||
|
initExtra = ''
|
||||||
|
if [[ -z "$TMUX" ]] {
|
||||||
|
session=$(tmux ls | grep -v attached | head -1 | cut -f1 -d:)
|
||||||
|
if [[ -n $session ]] {
|
||||||
|
exec tmux attach -t $session;
|
||||||
|
} else {
|
||||||
|
exec tmux;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
precmd() {
|
||||||
|
local s=$? c=( $(fc -l -D -1 ) )
|
||||||
|
if [[ $launched && "''${c[2]}" != "0:00" ]] {
|
||||||
|
eventc command $([[ ''${s} == 0 ]] && echo success || echo failure) -d command="\"''${c[3,-1]}\"" -d time="\"''${c[2]}\"" -d host="\"$HOST\""
|
||||||
|
} else {
|
||||||
|
export launched=true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
alias c=cdr
|
||||||
|
alias s='sudo systemctl'
|
||||||
|
alias u='systemctl --user'
|
||||||
|
alias m=man
|
||||||
|
alias t="tmux attach"
|
||||||
|
alias tn="tmux new-session"
|
||||||
|
alias w="develop-here"
|
||||||
|
alias ls=exa
|
||||||
|
|
||||||
|
export BROWSER=qutebrowser
|
||||||
|
export EDITOR=nvim
|
||||||
|
export MANPAGER="most -s"
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
systemd.user.startServices = true;
|
||||||
|
|
||||||
|
imports = [
|
||||||
|
./taskwarrior.nix
|
||||||
|
../modules/force-copies.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
htop
|
||||||
|
tree
|
||||||
|
rxvt_unicode.terminfo
|
||||||
|
most
|
||||||
|
|
||||||
|
socat
|
||||||
|
nmap
|
||||||
|
tcpdump
|
||||||
|
|
||||||
|
rcm
|
||||||
|
tmux
|
||||||
|
tig
|
||||||
|
exa
|
||||||
|
fzf
|
||||||
|
|
||||||
|
pythonPackages.qrcode
|
||||||
|
ranger
|
||||||
|
|
||||||
|
|
||||||
|
(pkgs.neovim.override {
|
||||||
|
vimAlias = true;
|
||||||
|
configure = {
|
||||||
|
customRC = ''
|
||||||
|
set spell spelllang=de,en
|
||||||
|
set background=dark
|
||||||
|
set autoindent
|
||||||
|
set nosmartindent
|
||||||
|
set listchars=tab:»\ ,trail:.,extends:#
|
||||||
|
set list
|
||||||
|
set ts=3
|
||||||
|
set number
|
||||||
|
set scrolloff=5
|
||||||
|
set sidescrolloff=5
|
||||||
|
set laststatus=2
|
||||||
|
set incsearch
|
||||||
|
set mouse=
|
||||||
|
set dir=~/.vimhist/
|
||||||
|
set backupdir=~/.vimhist/bak
|
||||||
|
set showcmd
|
||||||
|
nnoremap <silent><cr> :nohlsearch<CR>
|
||||||
|
vnoremap < <gv
|
||||||
|
vnoremap > >gv
|
||||||
|
nnoremap <silent><cr> :nohlsearch<CR>
|
||||||
|
vnoremap < <gv
|
||||||
|
vnoremap > >gv u
|
||||||
|
nnoremap <C-Down> <C-W><C-J>
|
||||||
|
nnoremap <C-Up> <C-W><C-K>
|
||||||
|
nnoremap <C-Right> <C-W><C-L>
|
||||||
|
nnoremap <C-Left> <C-W><C-H>
|
||||||
|
nnoremap <A-Left> gT
|
||||||
|
nnoremap <A-Right> gt
|
||||||
|
|
||||||
|
set colorcolumn=81,121
|
||||||
|
hi ColorColumn ctermbg=black
|
||||||
|
|
||||||
|
set winaltkeys=no
|
||||||
|
set noai
|
||||||
|
set si
|
||||||
|
set sw=3
|
||||||
|
set pt=<F4>
|
||||||
|
set ignorecase
|
||||||
|
set wildmenu
|
||||||
|
set hlsearch
|
||||||
|
noremap <buffer> <silent> <Up> gk
|
||||||
|
noremap <buffer> <silent> <Down> gj
|
||||||
|
noremap <buffer> <silent> <Home> g<Home>
|
||||||
|
noremap <buffer> <silent> <End> g<End>
|
||||||
|
'';
|
||||||
|
packages.myVimPackage = with pkgs.vimPlugins; {
|
||||||
|
start = [
|
||||||
|
deoplete-nvim
|
||||||
|
vim-nix
|
||||||
|
vimtex
|
||||||
|
Syntastic
|
||||||
|
UltiSnips
|
||||||
|
airline
|
||||||
|
rust-vim
|
||||||
|
deoplete-rust
|
||||||
|
fugitive
|
||||||
|
airline
|
||||||
|
vim-snippets
|
||||||
|
vim-trailing-whitespace
|
||||||
|
vim-racer
|
||||||
|
vim-pandoc
|
||||||
|
nerdcommenter
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
withPython3 = true;
|
||||||
|
})
|
||||||
|
];
|
||||||
|
xdg.enable = true;
|
||||||
|
}
|
99
home-common/graphical/default.nix
Normal file
99
home-common/graphical/default.nix
Normal file
|
@ -0,0 +1,99 @@
|
||||||
|
{ pkgs, lib, ... }:
|
||||||
|
let
|
||||||
|
tasktree = with pkgs; callPackage ../../packages/tasktree {};
|
||||||
|
in {
|
||||||
|
imports = [
|
||||||
|
./i3.nix
|
||||||
|
../../modules/home-options.nix
|
||||||
|
];
|
||||||
|
common = {
|
||||||
|
workspaces = [
|
||||||
|
"tasks"
|
||||||
|
"chat"
|
||||||
|
"mail"
|
||||||
|
"code"
|
||||||
|
"research"
|
||||||
|
"work"
|
||||||
|
"ccc"
|
||||||
|
"orga"
|
||||||
|
"leisure"
|
||||||
|
"config"
|
||||||
|
];
|
||||||
|
terminal = "xterm";
|
||||||
|
colors = {
|
||||||
|
"foreground" = "#dddbff";
|
||||||
|
"background" = "#05004a";
|
||||||
|
"black" = "#030031";
|
||||||
|
"brightBlack" = "#55508f";
|
||||||
|
"red" = "#e34b4f";
|
||||||
|
"brightRed" = "#e34b4f";
|
||||||
|
"green" = "#67b779";
|
||||||
|
"brightGreen" = "#45b75e";
|
||||||
|
"yellow" = "#ff9c00";
|
||||||
|
"brightYellow" = "#ff9c00";
|
||||||
|
"blue" = "#5c67ff";
|
||||||
|
"brightBlue" = "#5c67ff";
|
||||||
|
"magenta" = "#cb85ff";
|
||||||
|
"brightMagenta" = "#cb85ff";
|
||||||
|
"cyan" = "#17d0f4";
|
||||||
|
"brightCyan" = "#17d0f4";
|
||||||
|
"white" = "#dddbff";
|
||||||
|
"brightWhite" = "#ffffff";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
home = {
|
||||||
|
packages = with pkgs; [
|
||||||
|
tasktree
|
||||||
|
];
|
||||||
|
keyboard = {
|
||||||
|
layout = "de";
|
||||||
|
variant = "neo";
|
||||||
|
options = [ "altwin:swap_lalt_lwin" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
gtk = {
|
||||||
|
enable = true;
|
||||||
|
iconTheme = {
|
||||||
|
name = "Arc";
|
||||||
|
package = pkgs.arc-icon-theme;
|
||||||
|
};
|
||||||
|
theme = {
|
||||||
|
name = "Arc-Dark";
|
||||||
|
package = pkgs.arc-theme;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
xdg.enable = true;
|
||||||
|
services = {
|
||||||
|
compton = {
|
||||||
|
enable = true;
|
||||||
|
fade = true;
|
||||||
|
fadeDelta = 5;
|
||||||
|
};
|
||||||
|
gnome-keyring = {
|
||||||
|
enable = true;
|
||||||
|
components = [
|
||||||
|
"secrets"
|
||||||
|
"ssh"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
random-background = {
|
||||||
|
enable = true;
|
||||||
|
imageDirectory = "%h/data/aktuell/media/bilder/wallpaper/";
|
||||||
|
interval = "15minutes";
|
||||||
|
};
|
||||||
|
gpg-agent = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
redshift = {
|
||||||
|
enable = true;
|
||||||
|
temperature.day = 6500;
|
||||||
|
latitude = "49.86667";
|
||||||
|
longitude = "8.65";
|
||||||
|
};
|
||||||
|
screen-locker = {
|
||||||
|
enable = true;
|
||||||
|
lockCmd = "${pkgs.i3lock}/bin/i3lock -n -f -i ~/data/aktuell/media/bilder/lockscreen.png";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
xsession.enable = true;
|
||||||
|
}
|
212
home-common/graphical/eventd.nix
Normal file
212
home-common/graphical/eventd.nix
Normal file
|
@ -0,0 +1,212 @@
|
||||||
|
{ pkgs, lib, config, ... }:
|
||||||
|
let
|
||||||
|
eventd-pkgs = import (fetchTarball https://github.com/NixOS/nixpkgs-channels/archive/fe61c3b84e8e81a8ec2bf6b3ed2a0e8652cea190.tar.gz) {};
|
||||||
|
eventd = with eventd-pkgs; callPackage ../../packages/eventd {};
|
||||||
|
colors = config.common.colors;
|
||||||
|
in {
|
||||||
|
home = {
|
||||||
|
packages = with pkgs; [
|
||||||
|
eventd
|
||||||
|
];
|
||||||
|
};
|
||||||
|
systemd.user = {
|
||||||
|
services = {
|
||||||
|
eventd = {
|
||||||
|
Unit = {
|
||||||
|
Description = "eventd";
|
||||||
|
After = [ "graphical-session-pre.target" ];
|
||||||
|
PartOf = [ "graphical-session.target" ];
|
||||||
|
};
|
||||||
|
Install = {
|
||||||
|
WantedBy = [ "graphical-session.target" ];
|
||||||
|
};
|
||||||
|
Service = {
|
||||||
|
Type="notify";
|
||||||
|
Sockets="eventd-control.socket eventd.socket";
|
||||||
|
ExecStart="${eventd}/bin/eventd --listen systemd";
|
||||||
|
ExecReload="${eventd}/bin/eventdctl reload";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
sockets = {
|
||||||
|
eventd-control = {
|
||||||
|
Unit = {
|
||||||
|
Description = "eventd control socket";
|
||||||
|
};
|
||||||
|
Socket = {
|
||||||
|
Service = "eventd.service";
|
||||||
|
SocketMode = "0600";
|
||||||
|
ListenStream = "%t/eventd/private";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
eventd = {
|
||||||
|
Unit = {
|
||||||
|
Description = "eventd sockets";
|
||||||
|
};
|
||||||
|
Socket = {
|
||||||
|
SocketMode = "0660";
|
||||||
|
ListenStream= "%t/eventd/evp";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
xdg = {
|
||||||
|
configFile = {
|
||||||
|
"eventd/eventd.conf".text = lib.generators.toINI {} {
|
||||||
|
"Queue default" = {
|
||||||
|
Margin = 10;
|
||||||
|
Spacing = 2;
|
||||||
|
Limit = 10;
|
||||||
|
};
|
||||||
|
"Queue mode" = {
|
||||||
|
Anchor = "top";
|
||||||
|
Margin = 300;
|
||||||
|
Limit = 1;
|
||||||
|
};
|
||||||
|
"Queue feedback" = {
|
||||||
|
Anchor = "top";
|
||||||
|
Margin = 450;
|
||||||
|
Limit = 1;
|
||||||
|
};
|
||||||
|
"Queue workspace" = {
|
||||||
|
Anchor = "bottom-left";
|
||||||
|
Margin = 10;
|
||||||
|
Limit = 1;
|
||||||
|
};
|
||||||
|
"Queue command" = {
|
||||||
|
Anchor = "bottom-right";
|
||||||
|
Margin = 10;
|
||||||
|
Spacing = 2;
|
||||||
|
Limit = 10;
|
||||||
|
};
|
||||||
|
"Queue critical" = {
|
||||||
|
Anchor = "top";
|
||||||
|
Margin = 10;
|
||||||
|
Spacing = 2;
|
||||||
|
Limit = 10;
|
||||||
|
};
|
||||||
|
"Queue state" = {
|
||||||
|
Anchor = "top-left";
|
||||||
|
Margin = 10;
|
||||||
|
Spacing = 2;
|
||||||
|
Limit = 10;
|
||||||
|
};
|
||||||
|
"Queue music" = {
|
||||||
|
Anchor = "bottom";
|
||||||
|
Margin = 10;
|
||||||
|
Limit = 1;
|
||||||
|
};
|
||||||
|
Notification = {
|
||||||
|
Text = "\${message}";
|
||||||
|
};
|
||||||
|
NotificationBubble = {
|
||||||
|
Padding = 10;
|
||||||
|
Radius = 0;
|
||||||
|
Border = 4;
|
||||||
|
BorderBlur = 4;
|
||||||
|
Timeout = 5000;
|
||||||
|
Colour = colors.background;
|
||||||
|
};
|
||||||
|
NotificationText = {
|
||||||
|
Font = "Linux Libertine 12";
|
||||||
|
Colour = colors.foreground;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
"eventd/notification.event".text = lib.generators.toINI {} {
|
||||||
|
"Event mode *" = {
|
||||||
|
Actions = "mode";
|
||||||
|
};
|
||||||
|
"Event notification *" = {
|
||||||
|
Actions = "notification";
|
||||||
|
};
|
||||||
|
"Event feedback *" = {
|
||||||
|
Actions = "feedback";
|
||||||
|
};
|
||||||
|
"Event workspace *" = {
|
||||||
|
Actions = "workspace";
|
||||||
|
};
|
||||||
|
"Event command success" = {
|
||||||
|
Actions = "command-success";
|
||||||
|
};
|
||||||
|
"Event command failure" = {
|
||||||
|
Actions = "command-failure";
|
||||||
|
};
|
||||||
|
"Event critical *" = {
|
||||||
|
Actions = "critical";
|
||||||
|
};
|
||||||
|
"Event state *" = {
|
||||||
|
Actions = "state";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
"eventd/mode.action".text = lib.generators.toINI {} {
|
||||||
|
Action = {
|
||||||
|
Name = "mode";
|
||||||
|
};
|
||||||
|
Notification = {
|
||||||
|
};
|
||||||
|
NotificationBubble = {
|
||||||
|
Timeout = 0;
|
||||||
|
Queue = "mode";
|
||||||
|
Padding = 40;
|
||||||
|
MinWidth = 10;
|
||||||
|
};
|
||||||
|
NotificationText = {
|
||||||
|
Font = "Linux Libertine 40";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
"eventd/command-success.action".text = lib.generators.toINI {} {
|
||||||
|
Action = {
|
||||||
|
Name = "command-success";
|
||||||
|
};
|
||||||
|
Notification = {
|
||||||
|
Text="<b>\${command}</b>\\nsucceeded after \${time} @ \${host}";
|
||||||
|
};
|
||||||
|
NotificationBubble = {
|
||||||
|
Colour = colors.black;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
"eventd/command-failure.action".text = lib.generators.toINI {} {
|
||||||
|
Action = {
|
||||||
|
Name = "command-failure";
|
||||||
|
};
|
||||||
|
Notification = {
|
||||||
|
Text="<b>\${command}</b>\\nfailed after \${time} @ \${host}";
|
||||||
|
};
|
||||||
|
NotificationBubble = {
|
||||||
|
Colour = colors.red;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
"eventd/workspace.action".text = lib.generators.toINI {} {
|
||||||
|
Action = {
|
||||||
|
Name = "workspace";
|
||||||
|
};
|
||||||
|
Notification = {
|
||||||
|
};
|
||||||
|
NotificationBubble = {
|
||||||
|
Queue = "workspace";
|
||||||
|
MinWidth = 10;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
"eventd/feedback.action".text = lib.generators.toINI {} {
|
||||||
|
Action = {
|
||||||
|
Name = "feedback";
|
||||||
|
};
|
||||||
|
Notification = {
|
||||||
|
};
|
||||||
|
NotificationBubble = {
|
||||||
|
Timeout = 500;
|
||||||
|
Queue = "feedback";
|
||||||
|
Colour = colors.red;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
"eventd/notification.action".text = lib.generators.toINI {} {
|
||||||
|
Action = {
|
||||||
|
Name = "notification";
|
||||||
|
};
|
||||||
|
Notification = {
|
||||||
|
Text = "<b>\${title}</b>\${message/^/\\n}";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
134
home-common/graphical/i3.nix
Normal file
134
home-common/graphical/i3.nix
Normal file
|
@ -0,0 +1,134 @@
|
||||||
|
{ pkgs, lib, config, ... }:
|
||||||
|
let
|
||||||
|
colors = config.common.colors;
|
||||||
|
workspaces = config.common.workspaces;
|
||||||
|
terminal = config.common.terminal;
|
||||||
|
exec = "exec --no-startup-id";
|
||||||
|
addMods = oldbindings: builtins.foldl' (newbindings: key:
|
||||||
|
newbindings // {
|
||||||
|
"Mod4+${key}" = oldbindings.${key};
|
||||||
|
"Mod3+Mod4+${key}" = oldbindings.${key};
|
||||||
|
})
|
||||||
|
{}
|
||||||
|
(builtins.attrNames oldbindings);
|
||||||
|
in {
|
||||||
|
imports = [
|
||||||
|
./eventd.nix
|
||||||
|
./rofi
|
||||||
|
./urxvt.nix
|
||||||
|
];
|
||||||
|
home.packages = [ pkgs.skippy-xd ];
|
||||||
|
xsession = {
|
||||||
|
windowManager.i3 = {
|
||||||
|
enable = true;
|
||||||
|
config = {
|
||||||
|
focus = {
|
||||||
|
followMouse = false;
|
||||||
|
forceWrapping = true;
|
||||||
|
};
|
||||||
|
colors = {
|
||||||
|
focused = {
|
||||||
|
background = colors.blue;
|
||||||
|
border = colors.blue;
|
||||||
|
childBorder = colors.blue;
|
||||||
|
indicator = colors.green;
|
||||||
|
text = colors.foreground;
|
||||||
|
};
|
||||||
|
focusedInactive = {
|
||||||
|
background = colors.background;
|
||||||
|
border = colors.background;
|
||||||
|
childBorder = colors.background;
|
||||||
|
indicator = colors.green;
|
||||||
|
text = colors.foreground;
|
||||||
|
};
|
||||||
|
unfocused = {
|
||||||
|
background = colors.background;
|
||||||
|
border = colors.background;
|
||||||
|
childBorder = colors.background;
|
||||||
|
indicator = colors.green;
|
||||||
|
text = colors.foreground;
|
||||||
|
};
|
||||||
|
urgent = {
|
||||||
|
background = colors.red;
|
||||||
|
border = colors.red;
|
||||||
|
childBorder = colors.red;
|
||||||
|
indicator = colors.green;
|
||||||
|
text = colors.foreground;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
bars = [ {
|
||||||
|
mode = "hide";
|
||||||
|
colors = {
|
||||||
|
separator = colors.white;
|
||||||
|
background = colors.background;
|
||||||
|
activeWorkspace = {
|
||||||
|
background = colors.blue;
|
||||||
|
border = colors.blue;
|
||||||
|
text = colors.white;
|
||||||
|
};
|
||||||
|
bindingMode = {
|
||||||
|
background = colors.red;
|
||||||
|
border = colors.red;
|
||||||
|
text = colors.white;
|
||||||
|
};
|
||||||
|
focusedWorkspace = {
|
||||||
|
background = colors.blue;
|
||||||
|
border = colors.blue;
|
||||||
|
text = colors.white;
|
||||||
|
};
|
||||||
|
inactiveWorkspace = {
|
||||||
|
background = colors.background;
|
||||||
|
border = colors.background;
|
||||||
|
text = colors.white;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
} ];
|
||||||
|
window = {
|
||||||
|
titlebar = false;
|
||||||
|
border = 1;
|
||||||
|
};
|
||||||
|
gaps = {
|
||||||
|
inner = 0;
|
||||||
|
outer = 0;
|
||||||
|
smartBorders = "off";
|
||||||
|
smartGaps = false;
|
||||||
|
};
|
||||||
|
keybindings = addMods ({
|
||||||
|
"Left" = "focus left";
|
||||||
|
"Down" = "focus down";
|
||||||
|
"Up" = "focus up";
|
||||||
|
"Right" = "focus right";
|
||||||
|
"Tab" = "${exec} rofi -show window";
|
||||||
|
"w" = "${exec} skippy-xd";
|
||||||
|
"Prior" = "focus parent";
|
||||||
|
"Next" = "focus child";
|
||||||
|
"Ctrl+Escape" = "${exec} loginctl lock-session;";
|
||||||
|
"Return" = "${exec} ${terminal}";
|
||||||
|
"p" = "${exec} rofi-pass";
|
||||||
|
"r" = "${exec} rofi -show combi";
|
||||||
|
"o" = "${exec} rofi -show web";
|
||||||
|
"n" = "${exec} rofi -show ssh";
|
||||||
|
"a" = "${exec} tasklauncher";
|
||||||
|
"shift+Left" = "move left";
|
||||||
|
"shift+Down" = "move down";
|
||||||
|
"shift+Up" = "move up";
|
||||||
|
"shift+Right" = "move right";
|
||||||
|
"d" = "split h";
|
||||||
|
"f" = "fullscreen toggle";
|
||||||
|
"t" = "layout tabbed";
|
||||||
|
"s" = "layout toggle split";
|
||||||
|
"q" = "kill";
|
||||||
|
"shift+space" = "floating toggle";
|
||||||
|
"shift+q" = "exec i3-nagbar -t warning -m 'do you want to exit i3?' -b 'yes' 'i3-msg exit'";
|
||||||
|
} // builtins.foldl' (bindings: name: let
|
||||||
|
number = toString ((builtins.length (builtins.attrNames bindings)) / 2);
|
||||||
|
in
|
||||||
|
bindings // {
|
||||||
|
"${number}" = "workspace ${number}:${name}";
|
||||||
|
"Shift+${number}" = "move container to workspace ${number}:${name}";
|
||||||
|
}) {} workspaces
|
||||||
|
);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
77
home-common/graphical/rofi/default.nix
Normal file
77
home-common/graphical/rofi/default.nix
Normal file
|
@ -0,0 +1,77 @@
|
||||||
|
{ 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,web:rofi-script-web,i3:rofi-script-i3
|
||||||
|
rofi.sidebar-mode: true
|
||||||
|
rofi.combi-modi: window,drun,run
|
||||||
|
'';
|
||||||
|
separator = "solid";
|
||||||
|
terminal = terminal;
|
||||||
|
location = "left";
|
||||||
|
scrollbar = false;
|
||||||
|
width = 1500;
|
||||||
|
yoffset = -10;
|
||||||
|
lines = 35;
|
||||||
|
colors = {
|
||||||
|
window = {
|
||||||
|
background = 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;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
29
home-common/graphical/rofi/tasklauncher.py
Normal file
29
home-common/graphical/rofi/tasklauncher.py
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
#!/usr/bin/env python
|
||||||
|
|
||||||
|
import subprocess
|
||||||
|
import os
|
||||||
|
import sys
|
||||||
|
|
||||||
|
def call_task(args):
|
||||||
|
return subprocess.Popen(["task", "rc.verbose=nothing"] + args, stdout=subprocess.PIPE, stderr=subprocess.PIPE).communicate()[0].strip()
|
||||||
|
|
||||||
|
runtime_dir = os.getenv("XDG_RUNTIME_DIR")
|
||||||
|
if not os.path.exists(runtime_dir):
|
||||||
|
os.makedirs(runtime_dir)
|
||||||
|
filename = os.path.join(runtime_dir, "taskfilter")
|
||||||
|
if not os.path.exists(filename):
|
||||||
|
with open(filename, 'w') as filterfile:
|
||||||
|
filterfile.write("inboxall")
|
||||||
|
|
||||||
|
lastresult = ""
|
||||||
|
while True:
|
||||||
|
with open(filename) as filterfile:
|
||||||
|
filter = filterfile.read().strip()
|
||||||
|
tasklist = call_task(["default"] + filter.split())
|
||||||
|
rofi_list_cmd = ['rofi', '-dmenu', '-p', 'task: ', '-mesg', '\n'.join([lastresult, "filter: {}".format(filter)]).strip()]
|
||||||
|
rofi = subprocess.Popen(rofi_list_cmd, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
|
||||||
|
entered_command = rofi.communicate(input=tasklist)[0].decode('utf8').strip()
|
||||||
|
if entered_command == "":
|
||||||
|
sys.exit(0)
|
||||||
|
task_result = subprocess.Popen(["task"] + entered_command.split(), stdout=subprocess.PIPE, stderr=subprocess.PIPE).communicate()
|
||||||
|
lastresult = '\n'.join([task_result[0].decode('utf8'), task_result[1].decode('utf8')]).strip()
|
1
home-common/graphical/rofi/zzzfoo
Submodule
1
home-common/graphical/rofi/zzzfoo
Submodule
|
@ -0,0 +1 @@
|
||||||
|
Subproject commit 4800c1c645b24ef7b7638f2a31f45826b8fc2973
|
35
home-common/graphical/urxvt.nix
Normal file
35
home-common/graphical/urxvt.nix
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
{ pkgs, lib, config, ... }:
|
||||||
|
let
|
||||||
|
colors = config.common.colors;
|
||||||
|
in {
|
||||||
|
home = {
|
||||||
|
packages = with pkgs; [
|
||||||
|
rxvt_unicode-with-plugins
|
||||||
|
];
|
||||||
|
};
|
||||||
|
xresources.properties = {
|
||||||
|
"*transparent" = true;
|
||||||
|
"*tintColor" = colors.background;
|
||||||
|
"*scrollBar" = false;
|
||||||
|
"*urgentOnBell" = true;
|
||||||
|
"*background" = colors.background;
|
||||||
|
"*foreground" = colors.foreground;
|
||||||
|
"*color0" = colors.black;
|
||||||
|
"*color8" = colors.brightBlack;
|
||||||
|
"*color1" = colors.red;
|
||||||
|
"*color9" = colors.brightRed;
|
||||||
|
"*color2" = colors.green;
|
||||||
|
"*color10" = colors.brightGreen;
|
||||||
|
"*color3" = colors.yellow;
|
||||||
|
"*color11" = colors.brightYellow;
|
||||||
|
"*color4" = colors.blue;
|
||||||
|
"*color12" = colors.brightBlue;
|
||||||
|
"*color5" = colors.magenta;
|
||||||
|
"*color13" = colors.brightMagenta;
|
||||||
|
"*color6" = colors.cyan;
|
||||||
|
"*color14" = colors.brightCyan;
|
||||||
|
"*color7" = colors.white;
|
||||||
|
"*color15" = colors.brightWhite;
|
||||||
|
"*boldFont" = "";
|
||||||
|
};
|
||||||
|
}
|
|
@ -9,12 +9,12 @@
|
||||||
collection-latexextra
|
collection-latexextra
|
||||||
collection-bibtexextra
|
collection-bibtexextra
|
||||||
collection-luatex
|
collection-luatex
|
||||||
collection-mathscience
|
# collection-math
|
||||||
collection-fontsextra;
|
collection-fontsextra;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
home.packages = [
|
home.packages = [
|
||||||
pgks.biber
|
pkgs.biber
|
||||||
];
|
];
|
||||||
}
|
}
|
|
@ -7,5 +7,8 @@
|
||||||
sshuttle
|
sshuttle
|
||||||
mtr
|
mtr
|
||||||
youtubeDL
|
youtubeDL
|
||||||
|
|
||||||
|
cargo
|
||||||
|
rustfmt
|
||||||
];
|
];
|
||||||
}
|
}
|
79
home-common/taskwarrior.nix
Normal file
79
home-common/taskwarrior.nix
Normal file
|
@ -0,0 +1,79 @@
|
||||||
|
{ pkgs, lib, ... }:
|
||||||
|
{
|
||||||
|
home = {
|
||||||
|
packages = with pkgs; [ taskwarrior ];
|
||||||
|
file = {
|
||||||
|
taskwarrior-on-add-hook = {
|
||||||
|
target = ".task/hooks/on-add.eventd-notification";
|
||||||
|
text = ''
|
||||||
|
#!${pkgs.python3}/bin/python
|
||||||
|
import sys
|
||||||
|
import json
|
||||||
|
import subprocess
|
||||||
|
|
||||||
|
input_string = sys.stdin.readline()
|
||||||
|
original = json.loads(input_string)
|
||||||
|
command = ['eventc', 'task', 'add']
|
||||||
|
for name, value in original.items():
|
||||||
|
command.append("-d")
|
||||||
|
if type(value) == list:
|
||||||
|
value = ', '.join(value)
|
||||||
|
command.append(name+"='"+value+"'")
|
||||||
|
subprocess.Popen(command)
|
||||||
|
print(input_string)
|
||||||
|
'';
|
||||||
|
executable = true;
|
||||||
|
};
|
||||||
|
taskwarrior-on-modify-hook = {
|
||||||
|
target = ".task/hooks/on-modify.eventd-notification";
|
||||||
|
text = ''
|
||||||
|
#!${pkgs.python3}/bin/python
|
||||||
|
import sys
|
||||||
|
import json
|
||||||
|
import subprocess
|
||||||
|
|
||||||
|
input_string = sys.stdin.readline()
|
||||||
|
original = json.loads(input_string)
|
||||||
|
input_string = sys.stdin.readline()
|
||||||
|
new = json.loads(input_string)
|
||||||
|
command = ['eventc', 'task', 'modify']
|
||||||
|
for name in set(new.keys()).union(set(original.keys())):
|
||||||
|
if new.get(name) != original.get(name) or name == "description":
|
||||||
|
value = new.get(name, "")
|
||||||
|
command.append("-d")
|
||||||
|
if type(value) == list:
|
||||||
|
value = ', '.join(value)
|
||||||
|
command.append(name+"='"+value+"'")
|
||||||
|
subprocess.Popen(command)
|
||||||
|
print(input_string)
|
||||||
|
'';
|
||||||
|
executable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
xdg = let
|
||||||
|
taskAction = name: template: {
|
||||||
|
"eventd/task-${name}.action".text = lib.generators.toINI {} {
|
||||||
|
Action = {
|
||||||
|
Name = "task-${name}";
|
||||||
|
};
|
||||||
|
Notification = {
|
||||||
|
Text = template;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
in {
|
||||||
|
configFile = {
|
||||||
|
"eventd/task.event".text = lib.generators.toINI {} {
|
||||||
|
"Event task add" = {
|
||||||
|
Actions = "task-new";
|
||||||
|
};
|
||||||
|
"Event task modify" = {
|
||||||
|
Actions = "task-changed";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
} //
|
||||||
|
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}";
|
||||||
|
};
|
||||||
|
}
|
|
@ -1,112 +0,0 @@
|
||||||
{ pkgs, ... }:
|
|
||||||
{
|
|
||||||
programs.home-manager = {
|
|
||||||
enable = true;
|
|
||||||
path = https://github.com/rycee/home-manager/archive/release-17.09.tar.gz;
|
|
||||||
};
|
|
||||||
systemd.user.startServices = true;
|
|
||||||
|
|
||||||
imports = [
|
|
||||||
# ./update-hm.nix
|
|
||||||
];
|
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
htop
|
|
||||||
tree
|
|
||||||
rxvt_unicode.terminfo
|
|
||||||
|
|
||||||
socat
|
|
||||||
nmap
|
|
||||||
tcpdump
|
|
||||||
|
|
||||||
rcm
|
|
||||||
tmux
|
|
||||||
tig
|
|
||||||
exa
|
|
||||||
|
|
||||||
neovim
|
|
||||||
taskwarrior
|
|
||||||
|
|
||||||
vimPlugins.vundle
|
|
||||||
vimPlugins.deoplete-nvim
|
|
||||||
vimPlugins.vim-nix
|
|
||||||
pythonPackages.qrcode
|
|
||||||
ranger
|
|
||||||
];
|
|
||||||
programs = {
|
|
||||||
git = {
|
|
||||||
enable = true;
|
|
||||||
ignores = [
|
|
||||||
".syncthing*.tmp"
|
|
||||||
"*.swp"
|
|
||||||
"*.autosave~"
|
|
||||||
"*.aux"
|
|
||||||
"*.bbl"
|
|
||||||
"*.fls"
|
|
||||||
"*.idx"
|
|
||||||
"*.ilg"
|
|
||||||
"*.ind"
|
|
||||||
"*.log"
|
|
||||||
"*.out"
|
|
||||||
"*.toc"
|
|
||||||
"*.bcf"
|
|
||||||
"*.blg"
|
|
||||||
"*.fdb*"
|
|
||||||
"*.thm"
|
|
||||||
"*.run.xml"
|
|
||||||
"*.slnc"
|
|
||||||
"*.glade~"
|
|
||||||
"__pycache__"
|
|
||||||
".hledger-web_client_session_key.aes"
|
|
||||||
".nix-gc-roots"
|
|
||||||
];
|
|
||||||
signing = {
|
|
||||||
signByDefault = true;
|
|
||||||
};
|
|
||||||
userEmail = "malte.brandy@maralorn.de";
|
|
||||||
userName = "Malte Brandy";
|
|
||||||
};
|
|
||||||
htop.enable = true;
|
|
||||||
neovim = {
|
|
||||||
enable = true;
|
|
||||||
configure = {
|
|
||||||
};
|
|
||||||
};
|
|
||||||
rofi = {
|
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
ssh = {
|
|
||||||
controlPath = true;
|
|
||||||
enable = true;
|
|
||||||
matchBlocks = let
|
|
||||||
matheGwProxy = "ssh -q gw nc -q0 %h %p";
|
|
||||||
kivaHost = "fb04386.mathematik.tu-darmstadt.de";
|
|
||||||
agHost = "fb04217.mathematik.tu-darmstadt.de";
|
|
||||||
in [
|
|
||||||
{ host = "charon"; hostname = "charon.olymp.space"; }
|
|
||||||
{ host = "*.olymp.space"; user = "maralorn"; }
|
|
||||||
{ host = "ag-forward"; hostname = agHost; proxyCommand = matheGwProxy; }
|
|
||||||
{ host = "ag"; hostname = agHost; }
|
|
||||||
{ host = "kiva-forward"; hostname = kivaHost; proxyCommand = matheGwProxy; }
|
|
||||||
{ host = "kiva"; hostname = kivaHost; }
|
|
||||||
{ host = "gw"; hostname = "gwres4.mathematik.tu-darmstadt.de"; }
|
|
||||||
{ host = "*.mathematik.tu-darmstadt.de"; user = "brandy"; }
|
|
||||||
{ host = "shells"; hostname = "shells.darmstadt.ccc.de"; }
|
|
||||||
{ host = "vorstand"; hostname = "vorstand.darmstadt.ccc.de"; }
|
|
||||||
{ host = "*.darmstadt.ccc.de"; user = "maralorn"; }
|
|
||||||
{ host = "whisky"; hostname = "whisky.w17.io"; user = "chaos"; }
|
|
||||||
];
|
|
||||||
};
|
|
||||||
zsh = {
|
|
||||||
enable = true;
|
|
||||||
enableAutosuggestions = true;
|
|
||||||
enableCompletion = true;
|
|
||||||
history = {
|
|
||||||
path = "~/.zsh_history";
|
|
||||||
save = 100000;
|
|
||||||
size = 100000;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
xdg.enable = true;
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,107 +0,0 @@
|
||||||
with import <nixpkgs> {};
|
|
||||||
{ pkgs, ... }:
|
|
||||||
let
|
|
||||||
desktopItem = makeDesktopItem {
|
|
||||||
name = "Tasktree";
|
|
||||||
exec = "tasktree";
|
|
||||||
icon = "tasktree";
|
|
||||||
comment = "A taskwarrior UI";
|
|
||||||
desktopName = "Tasktree";
|
|
||||||
genericName = "Tasktree";
|
|
||||||
categories = "Office;";
|
|
||||||
};
|
|
||||||
tasktree = with pkgs; with rustPlatform; buildRustPackage rec {
|
|
||||||
name = "tasktree";
|
|
||||||
version = "abb312f";
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
rev = version;
|
|
||||||
owner = "maralorn";
|
|
||||||
repo = "tasktree";
|
|
||||||
sha256 = "139xjvi7b62k3075b4md9hdkb1xafhhiyz2yhbb96d73j1gkqs77";
|
|
||||||
};
|
|
||||||
depsSha256 = "1iw9n1bj7h1v6nz2m3y6045qjavvim3hk5cli3y8x2zakmx88mia";
|
|
||||||
cargoSha256 = "1iw9n1bj7h1v6nz2m3y6045qjavvim3hk5cli3y8x2zakmx88mia";
|
|
||||||
|
|
||||||
propagatedBuildInputs = [ gnome3.gtk atk cairo gdk_pixbuf glib pango ];
|
|
||||||
postInstall = ''
|
|
||||||
function installIcon () {
|
|
||||||
mkdir -p $out/share/icons/hicolor/$1/apps/
|
|
||||||
cp icons/$1.png $out/share/icons/hicolor/$1/apps/tasktree.png
|
|
||||||
}
|
|
||||||
installIcon "16x16"
|
|
||||||
installIcon "32x32"
|
|
||||||
installIcon "64x64"
|
|
||||||
|
|
||||||
mkdir -p $out/share/applications
|
|
||||||
ln -s ${desktopItem}/share/applications/* $out/share/applications/
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
in {
|
|
||||||
home = {
|
|
||||||
packages = with pkgs; [
|
|
||||||
vimPlugins.vimtex
|
|
||||||
redshift
|
|
||||||
python27Packages.syncthing-gtk
|
|
||||||
rxvt_unicode
|
|
||||||
tasktree
|
|
||||||
tilda
|
|
||||||
];
|
|
||||||
keyboard = {
|
|
||||||
layout = "de";
|
|
||||||
variant = "neo";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
gtk = {
|
|
||||||
enable = true;
|
|
||||||
iconeTheme = {
|
|
||||||
name = "Arc";
|
|
||||||
package = "arc-icon-theme";
|
|
||||||
};
|
|
||||||
theme = {
|
|
||||||
name = "Arc";
|
|
||||||
packages = "arc-theme";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
service = {
|
|
||||||
compton = {
|
|
||||||
enable = true;
|
|
||||||
fade = true;
|
|
||||||
shadow = true;
|
|
||||||
};
|
|
||||||
dunst = {
|
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
gnome-keyring = {
|
|
||||||
enable = true;
|
|
||||||
components = [
|
|
||||||
"secrets"
|
|
||||||
"ssh"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
gpg-agent = {
|
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
network-manager-applet.enable = true;
|
|
||||||
redshift = {
|
|
||||||
enable = true;
|
|
||||||
temperature.day = 6500;
|
|
||||||
latitude = 49.86667;
|
|
||||||
longitude = 8.65;
|
|
||||||
};
|
|
||||||
screen-locker = {
|
|
||||||
enable = true;
|
|
||||||
lockCmd = "${pkgs.i3lock}/bin/i3lock";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
xsession = {
|
|
||||||
enable = true;
|
|
||||||
windowManager.i3 = {
|
|
||||||
enable = true;
|
|
||||||
gaps = {
|
|
||||||
inner = 3;
|
|
||||||
outer = 6;
|
|
||||||
smartBorders = "on";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,19 +1,22 @@
|
||||||
{ pkgs, ... }:
|
{ pkgs, ... }:
|
||||||
let
|
{
|
||||||
unstable = import (fetchTarball https://github.com/NixOS/nixpkgs-channels/archive/nixos-unstable.tar.gz) {};
|
|
||||||
in {
|
|
||||||
|
|
||||||
imports = [
|
imports = [
|
||||||
../../snippets/everywhere.nix
|
../../home-common
|
||||||
../../snippets/my-systems.nix
|
../../home-common/my-systems.nix
|
||||||
../../snippets/graphical.nix
|
../../home-common/graphical
|
||||||
../../snippets/latex.nix
|
../../home-common/latex.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
programs = {
|
programs = {
|
||||||
firefox = {
|
firefox = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = unstable.firefox;
|
};
|
||||||
|
git = {
|
||||||
|
signing = {
|
||||||
|
signByDefault = true;
|
||||||
|
key = "6C3D12CD88CDF46C5EAF4D12226A2D41EF5378C9";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -21,13 +24,18 @@ in {
|
||||||
udiskie = {
|
udiskie = {
|
||||||
enable = true;
|
enable = true;
|
||||||
notify = true;
|
notify = true;
|
||||||
tray = "auto";
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs.gnome3; [
|
||||||
|
glade
|
||||||
|
] ++ (with pkgs; [
|
||||||
# web
|
# web
|
||||||
chromium
|
chromium
|
||||||
|
acpi
|
||||||
|
|
||||||
|
arandr
|
||||||
|
qutebrowser
|
||||||
|
|
||||||
# tools & office
|
# tools & office
|
||||||
gimp
|
gimp
|
||||||
|
@ -39,10 +47,6 @@ in {
|
||||||
handbrake
|
handbrake
|
||||||
octave
|
octave
|
||||||
|
|
||||||
# dev
|
|
||||||
rustup
|
|
||||||
gnome3.glade
|
|
||||||
|
|
||||||
# look & feel
|
# look & feel
|
||||||
libertine
|
libertine
|
||||||
nerdfonts
|
nerdfonts
|
||||||
|
@ -54,6 +58,6 @@ in {
|
||||||
mpd
|
mpd
|
||||||
gmpc
|
gmpc
|
||||||
calibre
|
calibre
|
||||||
gnome-mpv
|
mpv
|
||||||
];
|
]);
|
||||||
}
|
}
|
|
@ -1,6 +1,6 @@
|
||||||
|
{ pkgs, ... }:
|
||||||
let
|
let
|
||||||
unstable = import (fetchTarball https://github.com/NixOS/nixpkgs-channels/archive/nixos-unstable.tar.gz) {};
|
habitask = with pkgs; with rustPlatform; buildRustPackage rec {
|
||||||
habitask = with unstable; with rustPlatform; buildRustPackage rec {
|
|
||||||
name = "habitask";
|
name = "habitask";
|
||||||
version = "0.1.0";
|
version = "0.1.0";
|
||||||
src = ~/data/aktuell/it/code/habitask;
|
src = ~/data/aktuell/it/code/habitask;
|
|
@ -1,7 +1,5 @@
|
||||||
{ pkgs, ... }:
|
{ pkgs, ... }:
|
||||||
let
|
{
|
||||||
unstable = import (fetchTarball https://github.com/NixOS/nixpkgs-channels/archive/nixos-unstable.tar.gz) {};
|
|
||||||
in {
|
|
||||||
systemd.user = {
|
systemd.user = {
|
||||||
services.morgenreport =
|
services.morgenreport =
|
||||||
let
|
let
|
|
@ -1,12 +1,10 @@
|
||||||
{ pkgs, ... }:
|
{ pkgs, ... }:
|
||||||
let
|
{
|
||||||
unstable = import (fetchTarball https://github.com/NixOS/nixpkgs-channels/archive/nixos-unstable.tar.gz) {};
|
|
||||||
in {
|
|
||||||
systemd.user = {
|
systemd.user = {
|
||||||
services.sort-mail =
|
services.sort-mail =
|
||||||
let
|
let
|
||||||
sort-mail-script = pkgs.writeShellScriptBin "sort-mail" ''
|
sort-mail-script = pkgs.writeShellScriptBin "sort-mail" ''
|
||||||
${unstable.isync}/bin/mbsync -a
|
${pkgs.isync}/bin/mbsync -a
|
||||||
|
|
||||||
mv $HOME/data/aktuell/it/mail/.Move.kiva/cur/* $HOME/data/aktuell/it/mail-accounts/fb4/INBOX/new/
|
mv $HOME/data/aktuell/it/mail/.Move.kiva/cur/* $HOME/data/aktuell/it/mail-accounts/fb4/INBOX/new/
|
||||||
mv $HOME/data/aktuell/it/mail/.Move.Auslandskoordination/cur/* $HOME/data/aktuell/it/mail-accounts/auslandskoordination/Malte/bearbeiten/new/
|
mv $HOME/data/aktuell/it/mail/.Move.Auslandskoordination/cur/* $HOME/data/aktuell/it/mail-accounts/auslandskoordination/Malte/bearbeiten/new/
|
||||||
|
@ -17,7 +15,7 @@ in {
|
||||||
mv $HOME/data/aktuell/it/mail-accounts/auslandskoordination/Malte/privat/cur/* $HOME/data/aktuell/it/mail/new/
|
mv $HOME/data/aktuell/it/mail-accounts/auslandskoordination/Malte/privat/cur/* $HOME/data/aktuell/it/mail/new/
|
||||||
mv $HOME/data/aktuell/it/mail-accounts/auslandskoordination/Malte/kiva/cur/* $HOME/data/aktuell/it/mail-accounts/fb4/INBOX/new/
|
mv $HOME/data/aktuell/it/mail-accounts/auslandskoordination/Malte/kiva/cur/* $HOME/data/aktuell/it/mail-accounts/fb4/INBOX/new/
|
||||||
|
|
||||||
${unstable.isync}/bin/mbsync -a
|
${pkgs.isync}/bin/mbsync -a
|
||||||
'';
|
'';
|
||||||
in {
|
in {
|
||||||
Unit = {
|
Unit = {
|
|
@ -1,10 +1,13 @@
|
||||||
{ pkgs, ... }:
|
{ pkgs, ... }:
|
||||||
{
|
{
|
||||||
|
# channel = 18.03
|
||||||
|
|
||||||
imports = [
|
imports = [
|
||||||
./admin.nix
|
./admin.nix
|
||||||
./syncthing.nix
|
./syncthing.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
||||||
i18n = {
|
i18n = {
|
||||||
defaultLocale = "en_US.UTF-8";
|
defaultLocale = "en_US.UTF-8";
|
||||||
};
|
};
|
||||||
|
@ -18,8 +21,8 @@
|
||||||
automatic = true;
|
automatic = true;
|
||||||
options = "--delete-older-than 5d";
|
options = "--delete-older-than 5d";
|
||||||
};
|
};
|
||||||
optimise.automatic = true;
|
|
||||||
package = pkgs.nixUnstable;
|
package = pkgs.nixUnstable;
|
||||||
|
optimise.automatic = true;
|
||||||
};
|
};
|
||||||
system.autoUpgrade.enable = true;
|
system.autoUpgrade.enable = true;
|
||||||
system.autoUpgrade.dates = "22:00";
|
system.autoUpgrade.dates = "22:00";
|
|
@ -1,6 +1,3 @@
|
||||||
let
|
|
||||||
unstable = import (fetchTarball https://github.com/NixOS/nixpkgs-channels/archive/nixos-unstable.tar.gz) {};
|
|
||||||
in
|
|
||||||
{
|
{
|
||||||
boot.kernel.sysctl = { "fs.inotify.max_user_watches" = 204800; };
|
boot.kernel.sysctl = { "fs.inotify.max_user_watches" = 204800; };
|
||||||
services = {
|
services = {
|
||||||
|
@ -10,8 +7,6 @@ in
|
||||||
group = "users";
|
group = "users";
|
||||||
user = "maralorn";
|
user = "maralorn";
|
||||||
openDefaultPorts = true;
|
openDefaultPorts = true;
|
||||||
useInotify = true;
|
|
||||||
package = unstable.syncthing;
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
70
hosts/apollo/configuration.nix
Normal file
70
hosts/apollo/configuration.nix
Normal file
|
@ -0,0 +1,70 @@
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
{
|
||||||
|
|
||||||
|
networking = {
|
||||||
|
hostName = "apollo";
|
||||||
|
networkmanager.enable = true;
|
||||||
|
hostId = "38d29f92";
|
||||||
|
};
|
||||||
|
|
||||||
|
i18n.consoleKeyMap = "neo";
|
||||||
|
|
||||||
|
imports = [
|
||||||
|
./hardware-configuration.nix
|
||||||
|
../../modules/cdarknet
|
||||||
|
../../host-common/common.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
# Use the systemd-boot EFI boot loader.
|
||||||
|
boot = {
|
||||||
|
loader = {
|
||||||
|
systemd-boot.enable = true;
|
||||||
|
efi.canTouchEfiVariables = true;
|
||||||
|
};
|
||||||
|
supportedFilesystems = [ "exfat" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
security.rngd.enable = true;
|
||||||
|
|
||||||
|
cdark_net = {
|
||||||
|
enable = true;
|
||||||
|
hostName = "maralorn_apollo";
|
||||||
|
ed25519PrivateKeyFile = /etc/nixos/local/tinc/ed25519_key.priv;
|
||||||
|
hostsDirectory = /etc/nixos/config/modules/cdarknet/hosts;
|
||||||
|
ip6address = "fd23:42:cda:4342::2";
|
||||||
|
ip4address = "172.20.71.2";
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
hardware.pulseaudio.enable = true;
|
||||||
|
services = {
|
||||||
|
# printing = {
|
||||||
|
# enable = true;
|
||||||
|
# drivers = [pkgs.hplip];
|
||||||
|
# };
|
||||||
|
# gnome3 = {
|
||||||
|
# gnome-keyring.enable = true;
|
||||||
|
# evolution-data-server.enable = true;
|
||||||
|
# gnome-disks.enable = true;
|
||||||
|
# };
|
||||||
|
xserver = {
|
||||||
|
enable = true;
|
||||||
|
layout = "de";
|
||||||
|
xkbVariant = "neo";
|
||||||
|
libinput.enable = true;
|
||||||
|
desktopManager.gnome3.enable = true;
|
||||||
|
displayManager.auto = {
|
||||||
|
enable = true;
|
||||||
|
user = "maralorn";
|
||||||
|
};
|
||||||
|
config = ''
|
||||||
|
Section "InputClass"
|
||||||
|
Identifier "Enable libinput for TrackPoint"
|
||||||
|
MatchIsPointer "on"
|
||||||
|
Driver "libinput"
|
||||||
|
EndSection
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
#virtualisation.docker.enable = true;
|
||||||
|
}
|
|
@ -1,8 +1,4 @@
|
||||||
{ config, pkgs, ... }:
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
let
|
|
||||||
unstable = import (fetchTarball https://github.com/NixOS/nixpkgs-channels/archive/nixos-unstable.tar.gz) {};
|
|
||||||
in
|
|
||||||
{
|
{
|
||||||
networking.firewall.allowedTCPPorts = [ 25 587 443 993 ];
|
networking.firewall.allowedTCPPorts = [ 25 587 443 993 ];
|
||||||
|
|
|
@ -1,8 +1,5 @@
|
||||||
{ config, pkgs, ... }:
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
let
|
|
||||||
unstable = import (fetchTarball https://github.com/NixOS/nixpkgs-channels/archive/f022cc679486ec5f21a13dab9a336ba1f5543910.tar.gz) {};
|
|
||||||
in
|
|
||||||
{
|
{
|
||||||
networking.firewall.allowedTCPPorts = [ 8448 ];
|
networking.firewall.allowedTCPPorts = [ 8448 ];
|
||||||
|
|
||||||
|
@ -52,7 +49,7 @@ in
|
||||||
# Synapse
|
# Synapse
|
||||||
matrix-synapse = {
|
matrix-synapse = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = unstable.matrix-synapse;
|
package = pkgs.matrix-synapse;
|
||||||
server_name = "maralorn.de";
|
server_name = "maralorn.de";
|
||||||
database_type = "psycopg2";
|
database_type = "psycopg2";
|
||||||
max_upload_size = "30M";
|
max_upload_size = "30M";
|
1
modules/cdarknet/hosts
Submodule
1
modules/cdarknet/hosts
Submodule
|
@ -0,0 +1 @@
|
||||||
|
Subproject commit 6a05b795d7333f23212427501c6d9dfbe1b73170
|
35
modules/force-copies.nix
Normal file
35
modules/force-copies.nix
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
{ lib, config, ... }:
|
||||||
|
let
|
||||||
|
paths = config.home.forceCopies.paths;
|
||||||
|
disableCollisionCheck = path: ''
|
||||||
|
if [[ -a $HOME/${path} ]]; then
|
||||||
|
echo "Removing $HOME/${path}" because it is probably from a previous generation.
|
||||||
|
rm -f $HOME/${path}
|
||||||
|
fi
|
||||||
|
'';
|
||||||
|
copyPath = path: ''
|
||||||
|
canonical=`readlink -f $newGenPath/home-files/${path}`
|
||||||
|
if [[ ! -a $canonical ]]; then
|
||||||
|
echo "File $newGenPath/home-files/${path} does not exist."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
if [[ ! -a $HOME/${path} ]]; then
|
||||||
|
echo "There is no file at $HOME/${path} this is weird."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
echo "Overwriting $HOME/${path}"
|
||||||
|
cp --remove-destination -T $canonical $HOME/${path};
|
||||||
|
'';
|
||||||
|
in with lib;
|
||||||
|
{
|
||||||
|
options.home.forceCopies.paths = mkOption {
|
||||||
|
default = [];
|
||||||
|
type = types.listOf types.str;
|
||||||
|
};
|
||||||
|
config.home.activation = {
|
||||||
|
deleteForcedCopies = config.lib.dag.entryBefore ["checkLinkTargets"]
|
||||||
|
(builtins.concatStringsSep "\n" (builtins.map disableCollisionCheck paths));
|
||||||
|
forceCopies = config.lib.dag.entryAfter ["linkGeneration"]
|
||||||
|
(builtins.concatStringsSep "\n" (builtins.map copyPath paths));
|
||||||
|
};
|
||||||
|
}
|
21
modules/home-options.nix
Normal file
21
modules/home-options.nix
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
{ lib, config, pkgs, ... }:
|
||||||
|
|
||||||
|
with lib;
|
||||||
|
{
|
||||||
|
options = {
|
||||||
|
common = {
|
||||||
|
terminal = mkOption {
|
||||||
|
default = "urxvt";
|
||||||
|
type = types.str;
|
||||||
|
};
|
||||||
|
colors = mkOption {
|
||||||
|
default = {};
|
||||||
|
type = types.attrs;
|
||||||
|
};
|
||||||
|
workspaces = mkOption {
|
||||||
|
default = [ "configure some workspaces" ];
|
||||||
|
type = types.listOf types.str;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
18
packages/blezz/default.nix
Normal file
18
packages/blezz/default.nix
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
{ fetchFromGitHub, stdenv, libxcb, xcbutil, xcbutilwm }:
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
name = "blezz";
|
||||||
|
version = "8643772";
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "Blezzing";
|
||||||
|
repo = "blezz";
|
||||||
|
rev = version;
|
||||||
|
sha256 = "0kgbzkx49018wxli4agf2vwyq9lnin1qvh1hs6wr59384hmvrbnv";
|
||||||
|
};
|
||||||
|
buildInputs = [ libxcb xcbutil xcbutilwm ];
|
||||||
|
patchPhase = ''
|
||||||
|
grep -v /usr/lib makefile > makefile1
|
||||||
|
mv makefile1 makefile
|
||||||
|
sed s,/usr/bin/,$prefix/usr/bin/, -i makefile
|
||||||
|
mkdir -p $prefix/usr/bin
|
||||||
|
'';
|
||||||
|
}
|
38
packages/eventd/default.nix
Normal file
38
packages/eventd/default.nix
Normal file
|
@ -0,0 +1,38 @@
|
||||||
|
{ fetchFromGitHub, stdenv, ninja, meson, pkgconfig, glib, cairo, gdk_pixbuf, glib_networking, pango, libudev, xorg, libxslt, docbook_xml_xslt, git, libuuid, dbus, libsoup, docbook_xml_dtd_45, docbook5_xsl, gettext, autoconf, libtool, utillinux, libxkbcommon }:
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
name = "eventd";
|
||||||
|
version = "279d3c3";
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "sardemff7";
|
||||||
|
repo = "eventd";
|
||||||
|
rev = version;
|
||||||
|
sha256 = "162gr3agmjn6d0wdj3lixv8qfvgfm9qg3wphbvwywdp4qcwvnjz8";
|
||||||
|
fetchSubmodules = true;
|
||||||
|
};
|
||||||
|
patchPhase = ''
|
||||||
|
sed s/0.44.1/0.43.0/ -i meson.build
|
||||||
|
'';
|
||||||
|
buildInputs = [
|
||||||
|
ninja
|
||||||
|
meson
|
||||||
|
pkgconfig
|
||||||
|
glib
|
||||||
|
cairo
|
||||||
|
gdk_pixbuf
|
||||||
|
glib_networking
|
||||||
|
pango
|
||||||
|
libudev
|
||||||
|
xorg.libxcb
|
||||||
|
xorg.xcbutil
|
||||||
|
xorg.xcbutilwm
|
||||||
|
libxkbcommon
|
||||||
|
libxslt
|
||||||
|
docbook_xml_xslt
|
||||||
|
docbook_xml_dtd_45
|
||||||
|
libuuid
|
||||||
|
dbus
|
||||||
|
];
|
||||||
|
preConfigure = ''
|
||||||
|
export mesonFlags="-Denable-systemd=true -Denable-introspection=false -Denable-nd-wayland=false -Denable-im=false -Denable-sound=false -Ddbussessionservicedir=$prefix/share/dbus-1/services -Dsystemduserunitdir=$prefix/lib/systemd/user -Dsystemdsystemunitdir=$prefix/lib/systemd/system"
|
||||||
|
'';
|
||||||
|
}
|
38
packages/tasktree/default.nix
Normal file
38
packages/tasktree/default.nix
Normal file
|
@ -0,0 +1,38 @@
|
||||||
|
{ rustPlatform, gnome3, atk, cairo, gdk_pixbuf, glib, pango, makeDesktopItem, fetchFromGitHub }:
|
||||||
|
let
|
||||||
|
desktopItem = makeDesktopItem {
|
||||||
|
name = "Tasktree";
|
||||||
|
exec = "tasktree";
|
||||||
|
icon = "tasktree";
|
||||||
|
comment = "A taskwarrior UI";
|
||||||
|
desktopName = "Tasktree";
|
||||||
|
genericName = "Tasktree";
|
||||||
|
categories = "Office;";
|
||||||
|
};
|
||||||
|
in
|
||||||
|
with rustPlatform; buildRustPackage rec {
|
||||||
|
name = "tasktree";
|
||||||
|
version = "abb312f";
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
rev = version;
|
||||||
|
owner = "maralorn";
|
||||||
|
repo = "tasktree";
|
||||||
|
sha256 = "139xjvi7b62k3075b4md9hdkb1xafhhiyz2yhbb96d73j1gkqs77";
|
||||||
|
};
|
||||||
|
depsSha256 = "14acvigygrrqyvxra2n01vpadc3mcf8981jrggpvwfbz58jrsa7h";
|
||||||
|
cargoSha256 = "14acvigygrrqyvxra2n01vpadc3mcf8981jrggpvwfbz58jrsa7h";
|
||||||
|
|
||||||
|
propagatedBuildInputs = [ gnome3.gtk atk cairo gdk_pixbuf glib pango ];
|
||||||
|
postInstall = ''
|
||||||
|
function installIcon () {
|
||||||
|
mkdir -p $out/share/icons/hicolor/$1/apps/
|
||||||
|
cp icons/$1.png $out/share/icons/hicolor/$1/apps/tasktree.png
|
||||||
|
}
|
||||||
|
installIcon "16x16"
|
||||||
|
installIcon "32x32"
|
||||||
|
installIcon "64x64"
|
||||||
|
|
||||||
|
mkdir -p $out/share/applications
|
||||||
|
ln -s ${desktopItem}/share/applications/* $out/share/applications/
|
||||||
|
'';
|
||||||
|
}
|
|
@ -1,80 +0,0 @@
|
||||||
{ config, pkgs, ... }:
|
|
||||||
{
|
|
||||||
|
|
||||||
networking = {
|
|
||||||
hostName = "apollo";
|
|
||||||
networkmanager.enable = true;
|
|
||||||
hostId = "38d29f92";
|
|
||||||
};
|
|
||||||
|
|
||||||
i18n.consoleKeyMap = "neo";
|
|
||||||
|
|
||||||
imports = [
|
|
||||||
./hardware-configuration.nix
|
|
||||||
../../modules/cdarknet
|
|
||||||
../../snippets/common.nix
|
|
||||||
];
|
|
||||||
|
|
||||||
# Use the systemd-boot EFI boot loader.
|
|
||||||
boot = {
|
|
||||||
loader = {
|
|
||||||
systemd-boot.enable = true;
|
|
||||||
efi.canTouchEfiVariables = true;
|
|
||||||
};
|
|
||||||
supportedFilesystems = [ "zfs" "exfat" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
zfstools
|
|
||||||
gnome3.caribou
|
|
||||||
xournal
|
|
||||||
];
|
|
||||||
|
|
||||||
security.rngd.enable = true;
|
|
||||||
|
|
||||||
programs.gnupg.agent = {
|
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
cdark_net = {
|
|
||||||
enable = true;
|
|
||||||
hostName = "maralorn_apollo";
|
|
||||||
ed25519PrivateKeyFile = /etc/nixos/local/tinc/ed25519_key.priv;
|
|
||||||
hostsDirectory = /etc/nixos/config/modules/cdarknet/hosts;
|
|
||||||
ip6address = "fd23:42:cda:4342::2";
|
|
||||||
ip4address = "172.20.71.2";
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
services = {
|
|
||||||
printing = {
|
|
||||||
enable = true;
|
|
||||||
drivers = [pkgs.hplip];
|
|
||||||
};
|
|
||||||
xserver = {
|
|
||||||
enable = true;
|
|
||||||
layout = "de";
|
|
||||||
xkbVariant = "neo";
|
|
||||||
#desktopManager.gnome3.enable = true;
|
|
||||||
#windowManager.i3.enable = true;
|
|
||||||
# displayManager.gdm = {
|
|
||||||
# autoLogin = {
|
|
||||||
# delay = 3;
|
|
||||||
# enable = true;
|
|
||||||
# user = "maralorn";
|
|
||||||
# };
|
|
||||||
# wayland = false;
|
|
||||||
# enable = true;
|
|
||||||
# };
|
|
||||||
libinput.enable = true;
|
|
||||||
config = ''
|
|
||||||
Section "InputClass"
|
|
||||||
Identifier "Enable libinput for TrackPoint"
|
|
||||||
MatchIsPointer "on"
|
|
||||||
Driver "libinput"
|
|
||||||
EndSection
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
|
||||||
#virtualisation.docker.enable = true;
|
|
||||||
}
|
|
|
@ -1 +0,0 @@
|
||||||
Subproject commit 2bc5760b0c12502073a26314156e5afc1a6800a0
|
|
Loading…
Reference in a new issue