Add lots of new nix config
This commit is contained in:
parent
aab1d4ff96
commit
13871c1ff9
@ -9,6 +9,8 @@ in
|
|||||||
_module.args.colorTheme = colorTheme;
|
_module.args.colorTheme = colorTheme;
|
||||||
|
|
||||||
imports = [
|
imports = [
|
||||||
|
./misc/mimetypes.nix
|
||||||
|
|
||||||
./programs/alacritty.nix
|
./programs/alacritty.nix
|
||||||
./programs/comma.nix
|
./programs/comma.nix
|
||||||
./programs/emacs.nix
|
./programs/emacs.nix
|
||||||
@ -17,11 +19,20 @@ in
|
|||||||
./programs/ncmpcpp.nix
|
./programs/ncmpcpp.nix
|
||||||
./programs/neovim.nix
|
./programs/neovim.nix
|
||||||
./programs/newsboat.nix
|
./programs/newsboat.nix
|
||||||
|
./programs/qutebrowser.nix
|
||||||
./programs/rofi.nix
|
./programs/rofi.nix
|
||||||
./programs/tmux.nix
|
./programs/tmux.nix
|
||||||
./programs/vscode.nix
|
./programs/vscode.nix
|
||||||
./programs/zathura.nix
|
./programs/zathura.nix
|
||||||
./programs/zsh.nix
|
./programs/zsh.nix
|
||||||
|
|
||||||
|
./services/dunst.nix
|
||||||
|
./services/mpd.nix
|
||||||
|
./services/picom.nix
|
||||||
|
./services/stalonetray.nix
|
||||||
|
./services/sxhkd.nix
|
||||||
|
|
||||||
|
./secret/ssh/hosts
|
||||||
];
|
];
|
||||||
|
|
||||||
xsession = {
|
xsession = {
|
||||||
@ -36,11 +47,8 @@ in
|
|||||||
home-manager.enable = true;
|
home-manager.enable = true;
|
||||||
|
|
||||||
bat.enable = true;
|
bat.enable = true;
|
||||||
|
bottom.enable = true;
|
||||||
# bottom.enable = true;
|
|
||||||
|
|
||||||
exa.enable = true;
|
exa.enable = true;
|
||||||
|
|
||||||
feh.enable = true;
|
feh.enable = true;
|
||||||
|
|
||||||
fzf = {
|
fzf = {
|
||||||
@ -52,6 +60,7 @@ in
|
|||||||
irssi.enable = true;
|
irssi.enable = true;
|
||||||
lazygit.enable = true;
|
lazygit.enable = true;
|
||||||
mpv.enable = true;
|
mpv.enable = true;
|
||||||
|
ssh.enable = true;
|
||||||
|
|
||||||
man = {
|
man = {
|
||||||
enable = true;
|
enable = true;
|
||||||
@ -60,16 +69,6 @@ in
|
|||||||
|
|
||||||
obs-studio.enable = true;
|
obs-studio.enable = true;
|
||||||
|
|
||||||
qutebrowser = {
|
|
||||||
enable = true;
|
|
||||||
aliases = {};
|
|
||||||
searchEngines = {};
|
|
||||||
settings = {};
|
|
||||||
keyBindings = {};
|
|
||||||
# quickmarks = {};
|
|
||||||
extraConfig = '''';
|
|
||||||
};
|
|
||||||
|
|
||||||
skim = {
|
skim = {
|
||||||
enable = true;
|
enable = true;
|
||||||
defaultCommand ="fd --type f";
|
defaultCommand ="fd --type f";
|
||||||
@ -85,12 +84,6 @@ in
|
|||||||
zoxide.enable = true;
|
zoxide.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
services.mpd = import ./services/mpd.nix args;
|
|
||||||
services.picom = import ./services/picom.nix;
|
|
||||||
services.stalonetray = import ./services/stalonetray.nix (args // { inherit colorTheme; });
|
|
||||||
services.sxhkd = import ./services/sxhkd.nix args;
|
|
||||||
|
|
||||||
|
|
||||||
home = {
|
home = {
|
||||||
stateVersion = "21.05";
|
stateVersion = "21.05";
|
||||||
username = "h7x4";
|
username = "h7x4";
|
||||||
@ -101,11 +94,14 @@ in
|
|||||||
asciidoctor
|
asciidoctor
|
||||||
audacity
|
audacity
|
||||||
beets
|
beets
|
||||||
|
biber
|
||||||
calibre
|
calibre
|
||||||
castnow
|
castnow
|
||||||
citra
|
citra
|
||||||
|
cool-retro-term
|
||||||
copyq
|
copyq
|
||||||
czkawka
|
czkawka
|
||||||
|
darktable
|
||||||
desmume
|
desmume
|
||||||
discord
|
discord
|
||||||
diskonaut
|
diskonaut
|
||||||
@ -116,8 +112,10 @@ in
|
|||||||
fd
|
fd
|
||||||
ffmpeg
|
ffmpeg
|
||||||
geogebra
|
geogebra
|
||||||
|
gnome.gnome-font-viewer
|
||||||
google-chrome
|
google-chrome
|
||||||
# gpgtui
|
# gpgtui
|
||||||
|
graphviz
|
||||||
# hck
|
# hck
|
||||||
hexyl
|
hexyl
|
||||||
imagemagick
|
imagemagick
|
||||||
@ -132,6 +130,7 @@ in
|
|||||||
lastpass-cli
|
lastpass-cli
|
||||||
lazydocker
|
lazydocker
|
||||||
libreoffice-fresh
|
libreoffice-fresh
|
||||||
|
light
|
||||||
lolcat
|
lolcat
|
||||||
maim
|
maim
|
||||||
mdcat
|
mdcat
|
||||||
@ -197,34 +196,12 @@ in
|
|||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
services.gnome-keyring.enable = true;
|
services = {
|
||||||
|
gnome-keyring.enable = true;
|
||||||
services.dropbox.enable = true;
|
dropbox.enable = true;
|
||||||
services.dunst = {
|
network-manager-applet.enable = true;
|
||||||
enable = true;
|
# redshift.enable = true;
|
||||||
iconTheme = {
|
|
||||||
package = pkgs.gnome.adwaita-icon-theme;
|
|
||||||
name = "Adwaita";
|
|
||||||
size = "32x32";
|
|
||||||
};
|
};
|
||||||
settings = {
|
|
||||||
global = {
|
|
||||||
geometry = "300x5-30+50";
|
|
||||||
transparency = 10;
|
|
||||||
frame_color = "#eceff1";
|
|
||||||
font = "Droid Sans 9";
|
|
||||||
};
|
|
||||||
urgency_normal = {
|
|
||||||
background = "#37474f";
|
|
||||||
foreground = "#eceff1";
|
|
||||||
timeout = 10;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
services.network-manager-applet.enable = true;
|
|
||||||
|
|
||||||
# services.redshift.enable = true;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
142
nixpkgs/misc/mimetypes.nix
Normal file
142
nixpkgs/misc/mimetypes.nix
Normal file
@ -0,0 +1,142 @@
|
|||||||
|
{ lib, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
|
||||||
|
# Applications
|
||||||
|
google-chrome = "google-chrome.desktop";
|
||||||
|
gimp = "gimp.desktop";
|
||||||
|
inkscape = "org.inkscape.Inkscape.desktop";
|
||||||
|
vscode = "code.desktop";
|
||||||
|
mpv = "mpv.desktop";
|
||||||
|
zathura = "org.pwmt.zathura.desktop";
|
||||||
|
sxiv = "sxiv.desktop";
|
||||||
|
font-viewer = "org.gnome.font-viewer.desktop";
|
||||||
|
|
||||||
|
# Formats
|
||||||
|
"3g2-audio" = "audio/3gpp";
|
||||||
|
"3g2-video" = "video/3gpp";
|
||||||
|
"3gp-audio" = "audio/3gpp";
|
||||||
|
"3gp-video" = "video/3gpp";
|
||||||
|
aac = "audio/aac";
|
||||||
|
avi = "video/x-msvideo";
|
||||||
|
bmp = "image/bmp";
|
||||||
|
cbr = "application/vnd.comicbook+rar";
|
||||||
|
cbrx = "application/x-cbr";
|
||||||
|
cbz = "application/vnd.comicbook+zip";
|
||||||
|
cbzx = "application/x-cbz";
|
||||||
|
djvu = "image/vnd.djvu";
|
||||||
|
epub = "application/epub+zip";
|
||||||
|
flv = "video/x-flv";
|
||||||
|
gif = "image/gif";
|
||||||
|
html = "text/html";
|
||||||
|
http = "x-scheme-handler/http";
|
||||||
|
https = "x-scheme-handler/https";
|
||||||
|
ico = "image/vnd.microsoft.icon";
|
||||||
|
icox = "image/x-icon";
|
||||||
|
ini = "application/x-wine-extension-ini";
|
||||||
|
jpg = "image/jpeg";
|
||||||
|
m4v = "video/x-m4v";
|
||||||
|
mkv = "video/x-matroska";
|
||||||
|
mov = "video/quicktime";
|
||||||
|
mp3 = "audio/mpeg";
|
||||||
|
mp4 = "video/mp4";
|
||||||
|
mpeg = "video/mpeg";
|
||||||
|
ogg = "audio/ogg";
|
||||||
|
ogv = "video/ogg";
|
||||||
|
opus = "audio/opus";
|
||||||
|
otf = "font/otf";
|
||||||
|
pdf = "application/pdf";
|
||||||
|
pic = "image/x-pict";
|
||||||
|
png = "image/png";
|
||||||
|
psd = "image/vnd.adobe.photoshop";
|
||||||
|
svg = "image/svg+xml";
|
||||||
|
tiff = "image/tiff";
|
||||||
|
ttf = "font/ttf";
|
||||||
|
txt = "text/plain";
|
||||||
|
url = "application/x-mswinurl";
|
||||||
|
wav = "audio/wav";
|
||||||
|
wavx = "audio/x-wav";
|
||||||
|
webm-audio = "audio/webm";
|
||||||
|
webm-video = "video/webm";
|
||||||
|
webp = "image/webp";
|
||||||
|
wmv = "video/x-ms-wmv";
|
||||||
|
woff = "font/woff";
|
||||||
|
woff2 = "font/woff2";
|
||||||
|
xbm = "image/x-xbitmap";
|
||||||
|
xcf = "image/x-xcf";
|
||||||
|
xhtml = "application/xhtml+xml";
|
||||||
|
xml = "text/xml";
|
||||||
|
xpm = "image/x-xpixmap";
|
||||||
|
|
||||||
|
|
||||||
|
# Generalizations
|
||||||
|
audio-player = mpv;
|
||||||
|
gui-text-editor = vscode;
|
||||||
|
image-viewer = sxiv;
|
||||||
|
pdf-viewer = zathura;
|
||||||
|
video-player = mpv;
|
||||||
|
web-browser = google-chrome;
|
||||||
|
|
||||||
|
in {
|
||||||
|
|
||||||
|
xdg.mimeApps = {
|
||||||
|
enable = true;
|
||||||
|
# associations.added = {};
|
||||||
|
# associations.removed = {};
|
||||||
|
defaultApplications = {
|
||||||
|
${"3g2-audio"} = audio-player;
|
||||||
|
${"3g2-video"} = video-player;
|
||||||
|
${"3gp-audio"} = audio-player;
|
||||||
|
${"3gp-video"} = video-player;
|
||||||
|
${aac} = audio-player;
|
||||||
|
${avi} = video-player;
|
||||||
|
${bmp} = image-viewer;
|
||||||
|
${cbrx} = zathura;
|
||||||
|
${cbr} = zathura;
|
||||||
|
${cbzx} = zathura;
|
||||||
|
${cbz} = zathura;
|
||||||
|
${djvu} = pdf-viewer;
|
||||||
|
${epub} = zathura;
|
||||||
|
${flv} = video-player;
|
||||||
|
${gif} = image-viewer;
|
||||||
|
${html} = web-browser;
|
||||||
|
${https} = web-browser;
|
||||||
|
${http} = web-browser;
|
||||||
|
${icox} = image-viewer;
|
||||||
|
${ico} = image-viewer;
|
||||||
|
${jpg} = image-viewer;
|
||||||
|
${m4v} = video-player;
|
||||||
|
${mkv} = video-player;
|
||||||
|
${mov} = video-player;
|
||||||
|
${mp3} = audio-player;
|
||||||
|
${mp4} = video-player;
|
||||||
|
${mpeg} = video-player;
|
||||||
|
${ogg} = audio-player;
|
||||||
|
${ogv} = video-player;
|
||||||
|
${opus} = audio-player;
|
||||||
|
${otf} = font-viewer;
|
||||||
|
${pdf} = pdf-viewer;
|
||||||
|
${pic} = image-viewer;
|
||||||
|
${png} = image-viewer;
|
||||||
|
${psd} = gimp;
|
||||||
|
${svg} = image-viewer;
|
||||||
|
${tiff} = image-viewer;
|
||||||
|
${ttf} = font-viewer;
|
||||||
|
${txt} = gui-text-editor;
|
||||||
|
${url} = web-browser;
|
||||||
|
${wav} = audio-player;
|
||||||
|
${webm-audio} = audio-player;
|
||||||
|
${webm-video} = video-player;
|
||||||
|
${webp} = image-viewer;
|
||||||
|
${wmv} = video-player;
|
||||||
|
${woff2} = font-viewer;
|
||||||
|
${woff} = font-viewer;
|
||||||
|
${xbm} = image-viewer;
|
||||||
|
${xcf} = gimp;
|
||||||
|
${xhtml} = web-browser;
|
||||||
|
${xml} = gui-text-editor;
|
||||||
|
${xpm} = image-viewer;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -1,13 +1,31 @@
|
|||||||
{ lib, pkgs, colorTheme, ... }:
|
{ lib, pkgs, colorTheme, ... }:
|
||||||
{
|
{
|
||||||
programs.alacritty = { enable = true; settings = { window.padding = { x = 15; y = 15; }; font = { normal = { family = "Fira Code"; style = "Retina"; }; bold.family = "Fira Code"; italic.family = "Fira Code"; size = 12.0; };
|
programs.alacritty = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
window.padding = { x = 15; y = 15; };
|
||||||
|
|
||||||
|
font = {
|
||||||
|
normal = {
|
||||||
|
family = "Fira Code";
|
||||||
|
style = "Retina";
|
||||||
|
};
|
||||||
|
bold.family = "Fira Code";
|
||||||
|
italic.family = "Fira Code";
|
||||||
|
size = 12.0;
|
||||||
|
};
|
||||||
|
|
||||||
colors =
|
colors =
|
||||||
let
|
let
|
||||||
pColors = [ "foreground" "background" ];
|
inherit (lib.attrsets) getAttrs filterAttrs;
|
||||||
|
inherit (lib.lists) any;
|
||||||
|
primaryColors = [ "foreground" "background" ];
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
primary = lib.attrsets.getAttrs pColors colorTheme.default;
|
primary = getAttrs primaryColors colorTheme.default;
|
||||||
normal = lib.attrsets.filterAttrs (n: v: pColors ? n) colorTheme.default;
|
normal = let
|
||||||
|
removePrimaryColorAttrs = n: v: !(any (pc: n ? pc) primaryColors);
|
||||||
|
in filterAttrs removePrimaryColorAttrs colorTheme.default;
|
||||||
};
|
};
|
||||||
|
|
||||||
background_opacity = 1.0;
|
background_opacity = 1.0;
|
||||||
@ -18,6 +36,12 @@
|
|||||||
unfocused_hollow = true;
|
unfocused_hollow = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
bell = {
|
||||||
|
animation = "EaseOutExpo";
|
||||||
|
color = "0xffffff";
|
||||||
|
duration = 20;
|
||||||
|
};
|
||||||
|
|
||||||
live_config_reload = true;
|
live_config_reload = true;
|
||||||
|
|
||||||
shell = {
|
shell = {
|
||||||
|
@ -2,10 +2,12 @@
|
|||||||
{
|
{
|
||||||
programs.gh = {
|
programs.gh = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
settings = {
|
||||||
gitProtocol = "ssh";
|
gitProtocol = "ssh";
|
||||||
aliases = {
|
aliases = {
|
||||||
co = "pr checkout";
|
co = "pr checkout";
|
||||||
pv = "pr view";
|
pv = "pr view";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,14 +1,12 @@
|
|||||||
{pkgs, ...}:
|
{ pkgs, home, colorTheme, ... }:
|
||||||
{
|
{
|
||||||
programs.neovim = {
|
programs.neovim = {
|
||||||
enable = true;
|
enable = true;
|
||||||
# defaultEditor = true;
|
|
||||||
viAlias = true;
|
viAlias = true;
|
||||||
vimAlias = true;
|
vimAlias = true;
|
||||||
vimdiffAlias = true;
|
vimdiffAlias = true;
|
||||||
extraConfig = ''
|
|
||||||
set clipboard+=unnamedplus
|
|
||||||
'';
|
|
||||||
plugins = with pkgs.vimPlugins; [
|
plugins = with pkgs.vimPlugins; [
|
||||||
vim-commentary
|
vim-commentary
|
||||||
vim-gitgutter
|
vim-gitgutter
|
||||||
@ -23,12 +21,33 @@
|
|||||||
limelight-vim
|
limelight-vim
|
||||||
vim-tmux-navigator
|
vim-tmux-navigator
|
||||||
vim-polyglot
|
vim-polyglot
|
||||||
|
lightline-vim
|
||||||
|
{
|
||||||
|
plugin = rainbow;
|
||||||
|
config = ''
|
||||||
|
let g:rainbow_active = 1
|
||||||
|
'';
|
||||||
|
}
|
||||||
{
|
{
|
||||||
plugin = vim-monokai;
|
plugin = vim-monokai;
|
||||||
config = ''
|
config = ''
|
||||||
colorscheme monokai
|
colorscheme monokai
|
||||||
|
autocmd ColorScheme * highlight Normal ctermbg=0
|
||||||
|
autocmd ColorScheme * highlight LineNr ctermbg=0
|
||||||
|
autocmd ColorScheme * highlight CursorLineNR ctermbg=0 ctermfg=208
|
||||||
|
autocmd ColorScheme * highlight SignColumn ctermbg=0
|
||||||
|
autocmd ColorScheme * highlight GitGutterAdd ctermbg=0
|
||||||
|
autocmd ColorScheme * highlight GitGutterChange ctermbg=0
|
||||||
|
autocmd ColorScheme * highlight GitGutterDelete ctermbg=0
|
||||||
'';
|
'';
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
|
extraConfig = ''
|
||||||
|
set clipboard+=unnamedplus
|
||||||
|
set number relativenumber
|
||||||
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
home.sessionVariables = { EDITOR = "nvim"; };
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{ ... }:
|
{ lib, ... }:
|
||||||
let
|
let
|
||||||
defaultBrowser = "google-chrome-stable %u";
|
defaultBrowser = "google-chrome-stable %u";
|
||||||
videoViewer = "mpv %u";
|
videoViewer = "mpv %u";
|
||||||
@ -8,7 +8,7 @@ in {
|
|||||||
autoReload = true;
|
autoReload = true;
|
||||||
maxItems = 50;
|
maxItems = 50;
|
||||||
browser = defaultBrowser;
|
browser = defaultBrowser;
|
||||||
extraConfig = builtins.concatStringsSep "\n" [
|
extraConfig = lib.strings.concatStringsSep "\n" [
|
||||||
''
|
''
|
||||||
macro m set browser "${videoViewer}"; open-in-browser ; set browser "${defaultBrowser}"
|
macro m set browser "${videoViewer}"; open-in-browser ; set browser "${defaultBrowser}"
|
||||||
macro l set browser "${defaultBrowser}"; open-in-browser ; set browser "${defaultBrowser}"
|
macro l set browser "${defaultBrowser}"; open-in-browser ; set browser "${defaultBrowser}"
|
||||||
|
12
nixpkgs/programs/qutebrowser.nix
Normal file
12
nixpkgs/programs/qutebrowser.nix
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
{ ... }:
|
||||||
|
{
|
||||||
|
programs.qutebrowser = {
|
||||||
|
enable = true;
|
||||||
|
aliases = {};
|
||||||
|
searchEngines = {};
|
||||||
|
settings = {};
|
||||||
|
keyBindings = {};
|
||||||
|
# quickmarks = {};
|
||||||
|
extraConfig = '''';
|
||||||
|
};
|
||||||
|
}
|
@ -14,13 +14,13 @@
|
|||||||
# ];
|
# ];
|
||||||
|
|
||||||
font = "Droid Sans 12";
|
font = "Droid Sans 12";
|
||||||
theme = ../../rofi/themes/blank.rasi;
|
theme = ../../general/.config/rofi/themes/blank.rasi;
|
||||||
|
|
||||||
extraConfig = {
|
extraConfig = {
|
||||||
modi = "window,run,drun,ssh,windowcd,file-browser";
|
modi = "window,run,drun,ssh,windowcd";
|
||||||
show-icons = true;
|
show-icons = true;
|
||||||
drun-display-format = "{name}";
|
drun-display-format = "{name}";
|
||||||
fullscreen = false;
|
# fullscreen = false;
|
||||||
threads = 0;
|
threads = 0;
|
||||||
matching = "fuzzy";
|
matching = "fuzzy";
|
||||||
scroll-method = 0;
|
scroll-method = 0;
|
||||||
|
@ -5,10 +5,16 @@
|
|||||||
baseIndex = 1;
|
baseIndex = 1;
|
||||||
clock24 = true;
|
clock24 = true;
|
||||||
escapeTime = 0;
|
escapeTime = 0;
|
||||||
# keyMode = "vi";
|
keyMode = "vi";
|
||||||
prefix = "C-a";
|
prefix = "C-a";
|
||||||
plugins = with pkgs.tmuxPlugins; [
|
plugins = with pkgs.tmuxPlugins; [
|
||||||
|
fingers
|
||||||
|
fpp
|
||||||
|
pain-control
|
||||||
|
prefix-highlight
|
||||||
|
sidebar
|
||||||
|
tmux-fzf
|
||||||
|
urlview
|
||||||
];
|
];
|
||||||
extraConfig = ''
|
extraConfig = ''
|
||||||
# Don't rename windows automatically after rename with ','
|
# Don't rename windows automatically after rename with ','
|
||||||
@ -82,7 +88,7 @@
|
|||||||
### DESIGN CHANGES ###
|
### DESIGN CHANGES ###
|
||||||
######################
|
######################
|
||||||
|
|
||||||
set-option -g status-left '#[bg=blue]#[fg=black,bold] ###S #[bg=default] #[fg=green]#(~/.scripts/tmux/fcitx) #[fg=red]%H:%M '
|
set-option -g status-left '#{prefix_highlight} #[bg=blue]#[fg=black,bold] ###S #[bg=default] #[fg=green]#(~/.scripts/tmux/fcitx) #[fg=red]%H:%M '
|
||||||
set-option -g status-right '#[fg=red]#(~/.scripts/tmux/mpd)'
|
set-option -g status-right '#[fg=red]#(~/.scripts/tmux/mpd)'
|
||||||
set-window-option -g window-status-current-style fg=magenta
|
set-window-option -g window-status-current-style fg=magenta
|
||||||
set-option -g status-style 'bg=black fg=default'
|
set-option -g status-style 'bg=black fg=default'
|
||||||
|
@ -307,7 +307,7 @@ in
|
|||||||
# ms-vsliveshare.vsliveshare
|
# ms-vsliveshare.vsliveshare
|
||||||
redhat.java
|
redhat.java
|
||||||
wholroyd.jinja
|
wholroyd.jinja
|
||||||
bbenoist.Nix
|
bbenoist.nix
|
||||||
# jock.svg
|
# jock.svg
|
||||||
vscodevim.vim
|
vscodevim.vim
|
||||||
haskell.haskell
|
haskell.haskell
|
||||||
|
@ -7,6 +7,14 @@
|
|||||||
defaultKeymap = "viins";
|
defaultKeymap = "viins";
|
||||||
|
|
||||||
plugins = [
|
plugins = [
|
||||||
|
# {
|
||||||
|
# name = "nix-zsh-shell-integration";
|
||||||
|
# src = pkgs.nix-zsh-shell-integration;
|
||||||
|
# }
|
||||||
|
{
|
||||||
|
name = "zsh-fast-syntax-highlighting";
|
||||||
|
src = pkgs.zsh-fast-syntax-highlighting;
|
||||||
|
}
|
||||||
{
|
{
|
||||||
name = "zsh-completions";
|
name = "zsh-completions";
|
||||||
src = pkgs.zsh-completions;
|
src = pkgs.zsh-completions;
|
||||||
@ -55,7 +63,8 @@
|
|||||||
# hs = "${pkgs.home-manager}/bin/home-manager switch";
|
# hs = "${pkgs.home-manager}/bin/home-manager switch";
|
||||||
|
|
||||||
hms = "home-manager switch";
|
hms = "home-manager switch";
|
||||||
nos = "sudo ${nixos-rebuild}/bin/nixos-rebuild switch";
|
nxr = "sudo ${nixos-rebuild}/bin/nixos-rebuild switch";
|
||||||
|
nxc = "sudoedit /etc/nixos/configuration.nix";
|
||||||
ns = "nix-shell";
|
ns = "nix-shell";
|
||||||
|
|
||||||
# Having 'watch' with a space after as an alias, enables it to expand other aliases
|
# Having 'watch' with a space after as an alias, enables it to expand other aliases
|
||||||
@ -117,6 +126,8 @@
|
|||||||
|
|
||||||
ip = "ip -c";
|
ip = "ip -c";
|
||||||
|
|
||||||
|
regex-escapechars = "echo \"[\\^$.|?*+()\"";
|
||||||
|
|
||||||
connectedIps = shellPipe [
|
connectedIps = shellPipe [
|
||||||
"netstat -tn 2>/dev/null"
|
"netstat -tn 2>/dev/null"
|
||||||
"grep :$1"
|
"grep :$1"
|
||||||
@ -183,7 +194,7 @@
|
|||||||
nthCdsAsNameValuePairs = n: map (cmd: nameValuePair cmd (realCommand n)) (nthCds n);
|
nthCdsAsNameValuePairs = n: map (cmd: nameValuePair cmd (realCommand n)) (nthCds n);
|
||||||
allCdNameValuePairs = (flatten (map nthCdsAsNameValuePairs (range 1 9)));
|
allCdNameValuePairs = (flatten (map nthCdsAsNameValuePairs (range 1 9)));
|
||||||
in
|
in
|
||||||
builtins.listToAttrs allCdNameValuePairs);
|
lib.attrsets.listToAttrs allCdNameValuePairs);
|
||||||
|
|
||||||
initExtra = ''
|
initExtra = ''
|
||||||
source ${config.home.homeDirectory}/${dotDir}/p10k.zsh
|
source ${config.home.homeDirectory}/${dotDir}/p10k.zsh
|
||||||
|
17
nixpkgs/secret/.gitignore
vendored
Normal file
17
nixpkgs/secret/.gitignore
vendored
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
|
||||||
|
# Ignore everything
|
||||||
|
*
|
||||||
|
|
||||||
|
# Sincde it's not possible to re-include a file if a
|
||||||
|
# parent directory of that file is excluded, we need to
|
||||||
|
# reinclude all directories.
|
||||||
|
!/**/
|
||||||
|
|
||||||
|
# Root level exceptions
|
||||||
|
!/**/default.nix
|
||||||
|
!.gitignore
|
||||||
|
!update.sh
|
||||||
|
!README.md
|
||||||
|
|
||||||
|
# Other exceptions
|
||||||
|
!ssh/hosts/pvv.nix
|
36
nixpkgs/secret/README.md
Normal file
36
nixpkgs/secret/README.md
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
# Secrets
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## Structure
|
||||||
|
|
||||||
|
<!-- tree-output -->
|
||||||
|
```
|
||||||
|
.
|
||||||
|
├── common
|
||||||
|
│ ├── browser-bookmarks.nix
|
||||||
|
│ └── browser-engines.nix
|
||||||
|
├── programs
|
||||||
|
│ ├── chromium
|
||||||
|
│ │ ├── bookmarks.nix
|
||||||
|
│ │ ├── default.nix
|
||||||
|
│ │ └── engines.nix
|
||||||
|
│ ├── newsboat
|
||||||
|
│ │ ├── default.nix
|
||||||
|
│ │ └── sources.nix
|
||||||
|
│ ├── qutebrowser
|
||||||
|
│ │ ├── bookmarks.nix
|
||||||
|
│ │ ├── default.nix
|
||||||
|
│ │ └── engines.nix
|
||||||
|
│ └── default.nix
|
||||||
|
├── ssh
|
||||||
|
│ └── hosts
|
||||||
|
│ ├── default.nix
|
||||||
|
│ ├── home.nix
|
||||||
|
│ ├── ntnu.nix
|
||||||
|
│ ├── pvv.nix
|
||||||
|
│ └── users.nix
|
||||||
|
├── default.nix
|
||||||
|
├── README.md
|
||||||
|
└── update.sh
|
||||||
|
```
|
7
nixpkgs/secret/default.nix
Normal file
7
nixpkgs/secret/default.nix
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
{ ... }:
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./programs
|
||||||
|
./ssh/hosts
|
||||||
|
];
|
||||||
|
}
|
7
nixpkgs/secret/programs/chromium/default.nix
Normal file
7
nixpkgs/secret/programs/chromium/default.nix
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
{ ... }:
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./bookmarks.nix
|
||||||
|
./engines.nix
|
||||||
|
];
|
||||||
|
}
|
8
nixpkgs/secret/programs/default.nix
Normal file
8
nixpkgs/secret/programs/default.nix
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
{ ... }:
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./chromium
|
||||||
|
./newsboat
|
||||||
|
./qutebrowser
|
||||||
|
];
|
||||||
|
}
|
6
nixpkgs/secret/programs/newsboat/default.nix
Normal file
6
nixpkgs/secret/programs/newsboat/default.nix
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
{ ... }:
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./sources
|
||||||
|
];
|
||||||
|
}
|
7
nixpkgs/secret/programs/qutebrowser/default.nix
Normal file
7
nixpkgs/secret/programs/qutebrowser/default.nix
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
{ ... }:
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./bookmarks.nix
|
||||||
|
./engines.nix
|
||||||
|
];
|
||||||
|
}
|
8
nixpkgs/secret/ssh/hosts/default.nix
Normal file
8
nixpkgs/secret/ssh/hosts/default.nix
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
{ ... }:
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./pvv.nix
|
||||||
|
./ntnu.nix
|
||||||
|
./home.nix
|
||||||
|
];
|
||||||
|
}
|
100
nixpkgs/secret/ssh/hosts/pvv.nix
Normal file
100
nixpkgs/secret/ssh/hosts/pvv.nix
Normal file
@ -0,0 +1,100 @@
|
|||||||
|
{ lib, ... }:
|
||||||
|
let
|
||||||
|
users = import ./users.nix;
|
||||||
|
inherit (users.pvv) normalUser adminUser;
|
||||||
|
|
||||||
|
# http://www.pvv.ntnu.no/pvv/Maskiner
|
||||||
|
normalMachines = [
|
||||||
|
[ "hildring" "pvv-login" "pvv" ]
|
||||||
|
"demiurgen"
|
||||||
|
"eirin"
|
||||||
|
[ "jokum" "pvv-nix" ]
|
||||||
|
"isvegg"
|
||||||
|
[ "microbel" "pvv-users" "pvv-mail" ]
|
||||||
|
];
|
||||||
|
|
||||||
|
rootMachines = [
|
||||||
|
[ "knakelibrak" "pvv-databases" ]
|
||||||
|
[ "spikkjeposche" "pvv-web" "pvv-wiki" "pvv-webmail" ]
|
||||||
|
"sleipner"
|
||||||
|
"fenris"
|
||||||
|
"balduzius"
|
||||||
|
"joshua"
|
||||||
|
"skrotnisse"
|
||||||
|
"principal"
|
||||||
|
"tom"
|
||||||
|
"monty"
|
||||||
|
|
||||||
|
{
|
||||||
|
names = ["dvask"];
|
||||||
|
proxyJump = "monty";
|
||||||
|
}
|
||||||
|
|
||||||
|
[ "innovation" "pvv-minecraft" ]
|
||||||
|
];
|
||||||
|
|
||||||
|
normalizeValueType = let
|
||||||
|
inherit (lib.strings) isString concatStringsSep;
|
||||||
|
inherit (lib.lists) isList;
|
||||||
|
inherit (lib.attrsets) filterAttrs;
|
||||||
|
in
|
||||||
|
machine:
|
||||||
|
if (isString machine) then (normalizeValueType [machine])
|
||||||
|
else if (isList machine) then (normalizeValueType { names = machine; })
|
||||||
|
else ({ name = concatStringsSep " " machine.names; } // (removeAttrs machine ["names"]));
|
||||||
|
|
||||||
|
# TODO: Merge the following two functions. They have too much code in common.
|
||||||
|
convertNormalMachines = let
|
||||||
|
inherit (lib.trivial) pipe;
|
||||||
|
inherit (lib.attrsets) listToAttrs;
|
||||||
|
inherit (lib.lists) head;
|
||||||
|
inherit (lib.strings) split;
|
||||||
|
|
||||||
|
convertNormalMachine = normalizedMachine:
|
||||||
|
rec {
|
||||||
|
inherit (normalizedMachine) name;
|
||||||
|
value = ({
|
||||||
|
hostname = "${head (split " " name)}.pvv.org";
|
||||||
|
user = normalUser;
|
||||||
|
} // removeAttrs normalizedMachine ["name"]);
|
||||||
|
};
|
||||||
|
|
||||||
|
pipeline = [
|
||||||
|
(ms: map normalizeValueType ms)
|
||||||
|
(ms: map convertNormalMachine ms)
|
||||||
|
listToAttrs
|
||||||
|
];
|
||||||
|
in machines: pipe machines pipeline;
|
||||||
|
|
||||||
|
convertAdminMachines = let
|
||||||
|
inherit (lib.trivial) pipe;
|
||||||
|
inherit (lib.attrsets) listToAttrs;
|
||||||
|
inherit (lib.lists) head;
|
||||||
|
inherit (lib.strings) split;
|
||||||
|
|
||||||
|
convertAdminMachine = normalizedMachine:
|
||||||
|
rec {
|
||||||
|
inherit (normalizedMachine) name;
|
||||||
|
value = ({
|
||||||
|
hostname = "${head (split " " name)}.pvv.org";
|
||||||
|
user = adminUser;
|
||||||
|
proxyJump = "hildring";
|
||||||
|
} // removeAttrs normalizedMachine ["name"]);
|
||||||
|
};
|
||||||
|
|
||||||
|
pipeline = [
|
||||||
|
(ms: map normalizeValueType ms)
|
||||||
|
(ms: map convertAdminMachine ms)
|
||||||
|
listToAttrs
|
||||||
|
];
|
||||||
|
in machines: pipe machines pipeline;
|
||||||
|
|
||||||
|
in
|
||||||
|
{
|
||||||
|
programs.ssh.matchBlocks = let
|
||||||
|
concatSets = lib.lists.foldl (s1: s2: s1 // s2) {};
|
||||||
|
in concatSets [
|
||||||
|
(convertNormalMachines normalMachines)
|
||||||
|
(convertAdminMachines rootMachines)
|
||||||
|
];
|
||||||
|
}
|
2
nixpkgs/secret/update.sh
Executable file
2
nixpkgs/secret/update.sh
Executable file
@ -0,0 +1,2 @@
|
|||||||
|
#!/usr/bin/env sh
|
||||||
|
perl -0777 -pi -e '$tree=`exa -I XX* --tree --group-directories-first`; s/<!-- tree-output -->\n```\n(?:.|\n)+```/<!-- tree-output -->\n```\n$tree```/' README.md
|
24
nixpkgs/services/dunst.nix
Normal file
24
nixpkgs/services/dunst.nix
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
services.dunst = {
|
||||||
|
enable = true;
|
||||||
|
iconTheme = {
|
||||||
|
package = pkgs.gnome.adwaita-icon-theme;
|
||||||
|
name = "Adwaita";
|
||||||
|
size = "32x32";
|
||||||
|
};
|
||||||
|
settings = {
|
||||||
|
global = {
|
||||||
|
geometry = "300x5-30+50";
|
||||||
|
transparency = 10;
|
||||||
|
frame_color = "#eceff1";
|
||||||
|
font = "Droid Sans 9";
|
||||||
|
};
|
||||||
|
urgency_normal = {
|
||||||
|
background = "#37474f";
|
||||||
|
foreground = "#eceff1";
|
||||||
|
timeout = 10;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
@ -1,8 +1,10 @@
|
|||||||
{ config, ... }:
|
{ config, ... }:
|
||||||
rec {
|
{
|
||||||
|
services.mpd = rec {
|
||||||
enable = true;
|
enable = true;
|
||||||
musicDirectory = "${config.services.dropbox.path}/music/music";
|
musicDirectory = "${config.services.dropbox.path}/music/music";
|
||||||
# musicDirectory = "${config.home.homeDirectory}/music";
|
# musicDirectory = "${config.home.homeDirectory}/music";
|
||||||
playlistDirectory = "${musicDirectory}/playlists/MPD";
|
playlistDirectory = "${musicDirectory}/playlists/MPD";
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,4 +1,6 @@
|
|||||||
|
{ ... }:
|
||||||
{
|
{
|
||||||
|
services.picom = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
||||||
blur = true;
|
blur = true;
|
||||||
@ -31,4 +33,5 @@
|
|||||||
vSync = true;
|
vSync = true;
|
||||||
|
|
||||||
extraOptions = '''';
|
extraOptions = '''';
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
{ colorTheme, ... }:
|
{ colorTheme, ... }:
|
||||||
{
|
{
|
||||||
|
services.stalonetray = {
|
||||||
enable = true;
|
enable = true;
|
||||||
config = {
|
config = {
|
||||||
decorations = "none";
|
decorations = "none";
|
||||||
@ -18,4 +19,5 @@
|
|||||||
skip_taskbar = true;
|
skip_taskbar = true;
|
||||||
slot_size = 40;
|
slot_size = 40;
|
||||||
};
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
{ pkgs, ... }:
|
{ pkgs, ... }:
|
||||||
{
|
{
|
||||||
|
services.sxhkd = {
|
||||||
enable = true;
|
enable = true;
|
||||||
keybindings = {
|
keybindings = {
|
||||||
|
|
||||||
@ -74,4 +75,5 @@
|
|||||||
# é
|
# é
|
||||||
"super + shift + e" = "sleep 0.3; ${pkgs.xdotool}/bin/xdotool key U00E9";
|
"super + shift + e" = "sleep 0.3; ${pkgs.xdotool}/bin/xdotool key U00E9";
|
||||||
};
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user