kekl
@@ -0,0 +1,9 @@
|
||||
{ config, pkgs, ... }:
|
||||
{
|
||||
imports =
|
||||
[
|
||||
./users.nix
|
||||
./security.nix
|
||||
./system.nix
|
||||
];
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
{ config, pkgs, ... }:
|
||||
{
|
||||
imports = [
|
||||
./media.nix
|
||||
./pkgs.nix
|
||||
./shell.nix
|
||||
./firefox.nix
|
||||
./dwm/default.nix
|
||||
./devel/default.nix
|
||||
];
|
||||
}
|
||||
@@ -0,0 +1,79 @@
|
||||
{ config, pkgs, ... }:
|
||||
|
||||
let
|
||||
lock-false = {
|
||||
Value = false;
|
||||
Status = "locked";
|
||||
};
|
||||
lock-true = {
|
||||
Value = true;
|
||||
Status = "locked";
|
||||
};
|
||||
in
|
||||
{
|
||||
programs = {
|
||||
firefox = {
|
||||
enable = true;
|
||||
languagePacks = [ "en-US" ];
|
||||
policies = {
|
||||
DisableTelemetry = true;
|
||||
DisableFirefoxStudies = true;
|
||||
EnableTrackingProtection = {
|
||||
Value = true;
|
||||
Locked = true;
|
||||
Cryptomining = true;
|
||||
Fingerprinting = true;
|
||||
};
|
||||
DisablePocket = true;
|
||||
DisableFirefoxAccounts = false;
|
||||
DisableAccounts = true;
|
||||
DisableFirefoxScreenshots = true;
|
||||
OverrideFirstRunPage = "";
|
||||
OverridePostUpdatePage = "";
|
||||
DontCheckDefaultBrowser = true;
|
||||
DisplayBookmarksToolbar = "newtab";
|
||||
DisplayMenuBar = "default-off";
|
||||
SearchBar = "unified";
|
||||
ExtensionSettings = {
|
||||
"uBlock0@raymondhill.net" = {
|
||||
install_url = "https://addons.mozilla.org/firefox/downloads/latest/ublock-origin/latest.xpi";
|
||||
installation_mode = "force_installed";
|
||||
};
|
||||
"78272b6fa58f4a1abaac99321d503a20@proton.me" = {
|
||||
install_url = "https://addons.mozilla.org/firefox/downloads/latest/proton-pass/latest.xpi";
|
||||
installation_mode = "force_installed";
|
||||
};
|
||||
"addon@darkreader.org" = {
|
||||
install_url = "https://addons.mozilla.org/firefox/downloads/latest/darkreader/latest.xpi";
|
||||
installation_mode = "force_installed";
|
||||
};
|
||||
"{f5bcc922-5c09-4ba5-9611-d7931812785c}" = {
|
||||
install_url = "https://addons.mozilla.org/firefox/downloads/file/4354513/oxocarbon-1.0.xpi";
|
||||
installation_mode = "force_installed";
|
||||
};
|
||||
};
|
||||
};
|
||||
preferences = {
|
||||
"privacy.resistFingerprinting" = true;
|
||||
"browser.contentblocking.category" = true;
|
||||
"extensions.pocket.enabled" = false;
|
||||
"extensions.screenshots.disabled" = true;
|
||||
"browser.topsites.contile.enabled" = false;
|
||||
"browser.formfill.enable" = false;
|
||||
"browser.search.suggest.enabled" = false;
|
||||
"browser.search.suggest.enabled.private" = false;
|
||||
"browser.urlbar.suggest.searches" = true;
|
||||
"browser.urlbar.showSearchSuggestionsFirst" = true;
|
||||
"browser.newtabpage.activity-stream.feeds.section.topstories" = false;
|
||||
"browser.newtabpage.activity-stream.feeds.snippets" = false;
|
||||
"browser.newtabpage.activity-stream.section.highlights.includePocket" = false;
|
||||
"browser.newtabpage.activity-stream.section.highlights.includeBookmarks" = false;
|
||||
"browser.newtabpage.activity-stream.section.highlights.includeDownloads" = false;
|
||||
"browser.newtabpage.activity-stream.section.highlights.includeVisited" = false;
|
||||
"browser.newtabpage.activity-stream.showSponsored" = false;
|
||||
"browser.newtabpage.activity-stream.system.showSponsored" = false;
|
||||
"browser.newtabpage.activity-stream.showSponsoredTopSites" = false;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
{ config, pkgs, ... }:
|
||||
{
|
||||
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
{ config, pkgs, ... }:
|
||||
{
|
||||
imports = [
|
||||
../web/qutebrowser.nix
|
||||
../web/librewolf.nix
|
||||
./proton.nix
|
||||
./irssi.nix
|
||||
./vesktop.nix
|
||||
];
|
||||
home = {
|
||||
username = "user";
|
||||
homeDirectory = "/home/user";
|
||||
|
||||
enableNixpkgsReleaseCheck = false;
|
||||
stateVersion = "26.05";
|
||||
|
||||
file = {
|
||||
".wp/" = {
|
||||
source = ./raw/wp;
|
||||
recursive = true;
|
||||
};
|
||||
".irssi/" = {
|
||||
source = ./raw/irssi/themes;
|
||||
recursive = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
{ config, pkgs, ... }:
|
||||
{
|
||||
programs = {
|
||||
irssi = {
|
||||
enable = true;
|
||||
extraConfig = "";
|
||||
|
||||
# irc networks
|
||||
networks = {
|
||||
liberachat = {
|
||||
channels = {
|
||||
nixos = {
|
||||
autoJoin = true;
|
||||
};
|
||||
linux = {
|
||||
autoJoin = true;
|
||||
};
|
||||
};
|
||||
nick = "halbg0tt";
|
||||
server = {
|
||||
address = "palladium.libera.chat";
|
||||
autoConnect = false;
|
||||
port = 6697;
|
||||
};
|
||||
};
|
||||
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
{ config, pkgs, ... }:
|
||||
{
|
||||
home = {
|
||||
packages = with pkgs; [ proton-vpn ];
|
||||
};
|
||||
services = {
|
||||
proton-pass-agent = {
|
||||
enable = false;
|
||||
package = pkgs.proton-pass-cli;
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,303 @@
|
||||
######################### evilkat.theme by dubkat@efnet ##################################
|
||||
# includes formats for scripts such as nact.pl kills.pl and chanact.pl
|
||||
# this theme may not look too good directly in a term, but looks ok in putty if you have
|
||||
# 'bolded text as alternate color' checked in your putty window/colours settings
|
||||
# enjoy.
|
||||
|
||||
# default foreground color (%N) - -1 is the "default terminal color"
|
||||
default_color = "-1";
|
||||
|
||||
# print timestamp/servertag at the end of line, not at beginning
|
||||
info_eol = "false";
|
||||
|
||||
# these characters are automatically replaced with specified color
|
||||
# (dark grey by default)
|
||||
replaces = { "!" = "%R$*%n"; "[]=" = "%K$*%n"; };
|
||||
|
||||
abstracts = {
|
||||
##
|
||||
## generic
|
||||
##
|
||||
|
||||
# text to insert at the beginning of each non-message line
|
||||
line_start = "";
|
||||
|
||||
# timestamp styling, nothing by default
|
||||
timestamp = "%w$*%n";
|
||||
|
||||
# any kind of text that needs hilighting, default is to bold
|
||||
hilight = "%_$*%_";
|
||||
|
||||
# any kind of error message, default is bright red
|
||||
error = "%R$*%n";
|
||||
|
||||
# channel name is printed
|
||||
channel = "%_$*%_";
|
||||
|
||||
# nick is printed
|
||||
nick = "%_$*%_";
|
||||
|
||||
# nick host is printed
|
||||
nickhost = "$*";
|
||||
|
||||
# server name is printed
|
||||
server = "%_$*%_";
|
||||
|
||||
# some kind of comment is printed
|
||||
comment = "[$*]";
|
||||
|
||||
# reason for something is printed (part, quit, kick, ..)
|
||||
reason = "{comment %_$*%_}";
|
||||
|
||||
# mode change is printed ([+o nick])
|
||||
mode = "{highlight %p$*%n}";
|
||||
|
||||
##
|
||||
## channel specific messages
|
||||
##
|
||||
|
||||
# highlighted nick/host is printed (joins)
|
||||
channick_hilight = "$*";
|
||||
chanhost_hilight = "{nickhost %K$*%n}";
|
||||
|
||||
# nick/host is printed (parts, quits, etc.)
|
||||
channick = "$*";
|
||||
chanhost = "{nickhost %K$*%n}";
|
||||
|
||||
# highlighted channel name is printed
|
||||
channelhilight = "%R$*%n";
|
||||
|
||||
# ban/ban exception/invite list mask is printed
|
||||
ban = "%r$*%n";
|
||||
|
||||
##
|
||||
## messages
|
||||
##
|
||||
|
||||
# the basic styling of how to print message, $0 = nick mode, $1 = nick
|
||||
msgnick = "%K<%n%_$0%_$1%K>%n %|";
|
||||
|
||||
# message from you is printed. "msgownnick" specifies the styling of the
|
||||
# nick ($0 part in msgnick) and "ownmsgnick" specifies the styling of the
|
||||
# whole line.
|
||||
|
||||
# Example1: You want the message text to be green:
|
||||
# ownmsgnick = "{msgnick $0 $1-}%g";
|
||||
# Example2.1: You want < and > chars to be yellow:
|
||||
# ownmsgnick = "%Y{msgnick $0 $1-%Y}%n";
|
||||
# (you'll also have to remove <> from replaces list above)
|
||||
# Example2.2: But you still want to keep <> grey for other messages:
|
||||
# pubmsgnick = "%K{msgnick $0 $1-%K}%n";
|
||||
# pubmsgmenick = "%K{msgnick $0 $1-%K}%n";
|
||||
# pubmsghinick = "%K{msgnick $1 $0$2-%n%K}%n";
|
||||
# ownprivmsgnick = "%K{msgnick $*%K}%n";
|
||||
# privmsgnick = "%K{msgnick %R$*%K}%n";
|
||||
|
||||
# $0 = nick mode, $1 = nick
|
||||
ownmsgnick = "{msgnick $0 $1-}%W";
|
||||
ownnick = "%r$*%n";
|
||||
|
||||
# public message in channel, $0 = nick mode, $1 = nick
|
||||
pubmsgnick = "{msgnick $0$1-}";
|
||||
pubnick = "%N$*%n";
|
||||
|
||||
# public message in channel meant for me, $0 = nick mode, $1 = nick
|
||||
pubmsgmenick = "{msgnick $0$1-}";
|
||||
menick = "%g$*%n";
|
||||
|
||||
# public highlighted message in channel
|
||||
# $0 = highlight color, $1 = nick mode, $2 = nick
|
||||
pubmsghinick = "{msgnick $1 $0$2-%n}";
|
||||
|
||||
# channel name is printed with message
|
||||
msgchannel = "%r:$*%n";
|
||||
|
||||
# private message, $0 = nick, $1 = host
|
||||
privmsg = "[%w$0!%r$1-%n] ";
|
||||
|
||||
# private message from you, $0 = "msg", $1 = target nick
|
||||
ownprivmsg = "[%r$0%b(%R$1-%b)%n] ";
|
||||
|
||||
# own private message in query
|
||||
ownprivmsgnick = "{msgnick $*}";
|
||||
ownprivnick = "%w$*%n";
|
||||
|
||||
# private message in query
|
||||
privmsgnick = "{msgnick %r$*%n}";
|
||||
|
||||
##
|
||||
## Actions (/ME stuff)
|
||||
##
|
||||
|
||||
# used internally by this theme
|
||||
action_core = "%p &%n$*";
|
||||
|
||||
# generic one that's used by most actions
|
||||
action = "{action_core $*} ";
|
||||
|
||||
# own action, both private/public
|
||||
ownaction = "{action %p$*}";
|
||||
|
||||
# own action with target, both private/public
|
||||
ownaction_target = "{action_core $0}%p:%c$1%n ";
|
||||
|
||||
# private action sent by others
|
||||
pvtaction = "%p (*) $*%n ";
|
||||
pvtaction_query = "{action $* }";
|
||||
|
||||
# public action sent by others
|
||||
pubaction = "{action $*}";
|
||||
|
||||
|
||||
##
|
||||
## other IRC events
|
||||
##
|
||||
|
||||
# whois
|
||||
whois = " %r¤ %W$[8]0%n %r¤ %w$1-%n";
|
||||
|
||||
# notices
|
||||
ownnotice = "[%w$0!%r$1-]%n ";
|
||||
notice = "[%rnotice%K(%n$*%K)%n] ";
|
||||
pubnotice_channel = "%R:%R$*";
|
||||
pvtnotice_host = "!%K$*%n";
|
||||
servernotice = "%g¤ %w$*%g ¤%n %_";
|
||||
|
||||
# CTCPs
|
||||
ownctcp = "[%w$0!%c$1-] ";
|
||||
ctcp = "%C$*%n";
|
||||
|
||||
# wallops
|
||||
wallop = "%W$*%n: ";
|
||||
wallop_nick = "%n$*";
|
||||
wallop_action = "%W * $*%n ";
|
||||
|
||||
# netsplits
|
||||
netsplit = "%R$*%n";
|
||||
netjoin = "%G$*%n";
|
||||
|
||||
# /names list
|
||||
names_prefix = " %r¤%n ";
|
||||
names_nick = "[%_$0%_$1-] ";
|
||||
names_nick_op = "%r{names_nick $*}%n";
|
||||
names_nick_halfop = "%r{names_nick $*}%n";
|
||||
names_nick_voice = "%y{names_nick $*}%n";
|
||||
names_users = "[%w$*%n]";
|
||||
names_channel = "%r$*%n";
|
||||
|
||||
# DCC
|
||||
dcc = "%g$*%n";
|
||||
dccfile = "%_$*%_";
|
||||
|
||||
# DCC chat, own msg/action
|
||||
dccownmsg = "[%w$0!%r$1-%n] ";
|
||||
dccownnick = "%w$*%n";
|
||||
dccownquerynick = "%W$*%n";
|
||||
dccownaction = "{action $*}";
|
||||
dccownaction_target = "{action_core $0}%B:%c$1%n ";
|
||||
|
||||
# DCC chat, others
|
||||
dccmsg = "[%w$1-!%g$0%n] ";
|
||||
dccquerynick = "%G$*%n";
|
||||
dccaction = "%W (*dcc*) $*%n %|";
|
||||
|
||||
##
|
||||
## statusbar
|
||||
##
|
||||
|
||||
# default background for all statusbars. You can also give
|
||||
# the default foreground color for statusbar items.
|
||||
sb_background = "%0%K";
|
||||
|
||||
# default backround for "default" statusbar group
|
||||
sb_default_bg = "%0%K";
|
||||
# background for prompt / input line
|
||||
sb_prompt_bg = "%n";
|
||||
# background for info statusbar
|
||||
sb_info_bg = "%0";
|
||||
# background for topicbar (same default)
|
||||
#sb_topic_bg = "%0";
|
||||
|
||||
# text at the beginning of statusbars. sb-item already puts
|
||||
# space there,so we don't use anything by default.
|
||||
sbstart = " %r¤%n ";
|
||||
# text at the end of statusbars. Use space so that it's never
|
||||
# used for anything.
|
||||
sbend = " %r¤%n ";
|
||||
|
||||
topicsbstart = "{sbstart $*}";
|
||||
topicsbend = "{sbend $*}";
|
||||
|
||||
prompt = "[%r$S%W/%r$*%n]%r:%W ";
|
||||
|
||||
sb = " [%K$*%n]";
|
||||
sbmode = " (+%K$*%n)";
|
||||
sbaway = " (%Kaway%n)";
|
||||
sbservertag = ":$1%r";
|
||||
sbnickmode = "%_$0%_";
|
||||
|
||||
# activity in statusbar
|
||||
|
||||
# ',' separator
|
||||
sb_act_sep = "$*";
|
||||
# normal text
|
||||
sb_act_text = "%Y$*";
|
||||
# public message
|
||||
sb_act_msg = "%w$*";
|
||||
# hilight
|
||||
sb_act_hilight = "%G$*";
|
||||
# hilight with specified color, $0 = color, $1 = text
|
||||
sb_act_hilight_color = "$0$1-%n";
|
||||
|
||||
#usercount
|
||||
sb_usercount = "{sb total:%w$0%n $1-}";
|
||||
sb_uc_ircops = "opers:%w$*%n";
|
||||
sb_uc_ops = "chanop:%w$*%n";
|
||||
sb_uc_halfops = "halfop:%w$*%n";
|
||||
sb_uc_voices = "voice:%w$*%n";
|
||||
sb_uc_normal = "peon:%w$*%n";
|
||||
sb_uc_space = " ";
|
||||
|
||||
#nact
|
||||
nact_display = "%B(%b$3%n%B)%n$0%G>%W$1%R>%n$2%B(%b$4%B)%n";
|
||||
};
|
||||
|
||||
formats = {
|
||||
"fe-common/core" = {
|
||||
pubmsg = "{pubmsgnick $2 {pubnick $[-9]0}}$1";
|
||||
join = "%gjoin %G>%n {nick %W$0%n}!%n{chanhost_hilight $1}";
|
||||
part = "%cpart %C<%n {nick %w$0%n}!%n{chanhost_hilight $1} {reason $3}";
|
||||
kick = "%rkick %R<%n {nick %w$0%n} {reason %w$3%n} by {nick $2}";
|
||||
quit = "%Kquit %K<%n {nick %K$0%n}!%n{chanhost_hilight $1} {reason $2}";
|
||||
nick_changed = "%ynick %y~%n {nick %w$0%n} %Nis now {nick %W$1%n}";
|
||||
|
||||
own_msg = "{ownmsgnick $2 {ownnick $[-9]0}}$1";
|
||||
own_msg_channel = "{ownmsgnick $3 {ownnick $[-9]0}{msgchannel $1}}$2";
|
||||
pubmsg_me = "{pubmsgmenick $2 {menick $[-9]0}}$1";
|
||||
pubmsg_me_channel = "{pubmsgmenick $3 {menick $[-9]0}{msgchannel $1}}$2";
|
||||
pubmsg_hilight = "{pubmsghinick $0 $3 $[-9]1}$2";
|
||||
pubmsg_hilight_channel = "{pubmsghinick $0 $4 $[-9]1{msgchannel $2}}$3";
|
||||
pubmsg_channel = "{pubmsgnick $3 {pubnick $[-9]0}{msgchannel $1}}$2";
|
||||
own_msg_private_query = "{ownprivmsgnick {ownprivnick $[-9]2}}$1";
|
||||
msg_private_query = "{privmsgnick $[-9]0}$2";
|
||||
};
|
||||
"fe-common/irc" = {
|
||||
netsplit = "{netsplit %rsplit %R<<%n} {server $0} %w<-%r\\->%n {server %R$1%n}: [$2]";
|
||||
netsplit_more = "{netsplit %rsplit %R<<%n} {server $0} %W<-%r\\->%n {server %R$1%n}: [$2%_+$3 more%_]";
|
||||
netsplit_join = "{netjoin %gre-join %G>>%n} [$0]";
|
||||
netsplit_join_more = "{netjoin %gre-join %G>>%n} [$0\012%_+$1 more%_]";
|
||||
chanmode_change = "%rmode #%n [{mode $1}] by {nick $2}";
|
||||
server_chanmode_change = "%rserv #%n [{mode $1}] by {nick $2}";
|
||||
own_action = "{ownaction $0}%|$1";
|
||||
action_public = "{pubaction $0}%|$1";
|
||||
who = "%#{channelhilight $[-10]0} {nick %n$[9]1%n} $[3]2 $[2]3 {comment {hilight $[10]6}} {comment $[!18]7} {chanhost %n$4@$5}";
|
||||
};
|
||||
|
||||
# Script Addons....
|
||||
|
||||
# kills.pl reformat
|
||||
"Irssi::Script::kills" = {
|
||||
kill_public = "%rkilled ¤%n {channick %w$0%n}!{chanhost $1%n} {reason %w$4%n} by {nick %W$2%n}$3";
|
||||
};
|
||||
};
|
||||
|
||||
|
After Width: | Height: | Size: 136 KiB |
|
After Width: | Height: | Size: 139 KiB |
|
After Width: | Height: | Size: 101 KiB |
|
After Width: | Height: | Size: 3.5 MiB |
|
After Width: | Height: | Size: 90 KiB |
|
After Width: | Height: | Size: 96 KiB |
|
After Width: | Height: | Size: 2.7 MiB |
|
After Width: | Height: | Size: 253 KiB |
|
After Width: | Height: | Size: 890 KiB |
@@ -0,0 +1 @@
|
||||
_: { programs.vesktop.enable = true; }
|
||||
@@ -0,0 +1,12 @@
|
||||
{ config, pkgs, ...}:
|
||||
{
|
||||
services = {
|
||||
pulseaudio.enable = false;
|
||||
pipewire = {
|
||||
enable = true;
|
||||
alsa.enable = true;
|
||||
alsa.support32Bit = true;
|
||||
pulse.enable = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -4,7 +4,7 @@ _:
|
||||
enable = true;
|
||||
lsp = {
|
||||
enable = true;
|
||||
server = "ccls";
|
||||
server = [ "ccls" ];
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -12,7 +12,7 @@ _:
|
||||
};
|
||||
lsp = {
|
||||
enable = true;
|
||||
server = "nixd";
|
||||
server = [ "nixd" ];
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,45 @@
|
||||
{ config, pkgs, inputs, ... }:
|
||||
{
|
||||
environment.systemPackages = with pkgs; [
|
||||
# default
|
||||
fastfetch
|
||||
vim
|
||||
tmux
|
||||
git
|
||||
wget
|
||||
curl
|
||||
htop
|
||||
|
||||
# utils
|
||||
lsof
|
||||
tree
|
||||
ntfs3g
|
||||
usbutils
|
||||
net-tools
|
||||
inetutils
|
||||
ethtool
|
||||
dig
|
||||
drill
|
||||
|
||||
# dev
|
||||
vscodium
|
||||
rustup
|
||||
python3
|
||||
|
||||
qutebrowser
|
||||
neovide
|
||||
];
|
||||
|
||||
fonts.packages = with pkgs; [
|
||||
noto-fonts
|
||||
noto-fonts-color-emoji
|
||||
|
||||
nerd-fonts.symbols-only
|
||||
nerd-fonts._0xproto
|
||||
nerd-fonts.terminess-ttf
|
||||
|
||||
terminus_font
|
||||
font-awesome
|
||||
];
|
||||
|
||||
}
|
||||
@@ -0,0 +1,110 @@
|
||||
{ config, pkgs, ... }:
|
||||
{
|
||||
programs = {
|
||||
bash = {
|
||||
enable = true;
|
||||
enableLsColors = true;
|
||||
completion = {
|
||||
enable = true;
|
||||
package = pkgs.bash-completion;
|
||||
};
|
||||
promptInit = ''
|
||||
PS1="(\h) [\u:\w] % "
|
||||
'';
|
||||
shellAliases = {
|
||||
"mount" = "doas mount --mkdir -v $@";
|
||||
"mkdir" = "mkdir -pv";
|
||||
"cp" = "cp -rv";
|
||||
"mv" = "mv -v $@";
|
||||
"rm" = "rm -v $@ -I";
|
||||
"ls" = "${pkgs.eza}/bin/eza --icons -l";
|
||||
"http" = "${pkgs.python3}/bin/python3 -m http.server 1337";
|
||||
"sudo" = "doas";
|
||||
"myip" = "curl -sSL icanhazip.com";
|
||||
"update" = "doas nixos-rebuild switch";
|
||||
"f" = "fastfetch";
|
||||
};
|
||||
};
|
||||
ssh = {
|
||||
askPassword = "${pkgs.openssh-askpass}/libexec/gtk-ssh-askpass";
|
||||
};
|
||||
git = {
|
||||
enable = true;
|
||||
config = {
|
||||
init = {
|
||||
defaultBranch = "main";
|
||||
};
|
||||
safe = {
|
||||
directory = "/etc/nixos";
|
||||
};
|
||||
user = {
|
||||
name = "halbg0tt";
|
||||
email = "halbg0tt@protonmail.com";
|
||||
};
|
||||
url = {
|
||||
"https://github.com" = {
|
||||
insteadOf = [
|
||||
"gh:"
|
||||
"github:"
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
tmux = {
|
||||
enable = true;
|
||||
keyMode = "vi";
|
||||
aggressiveResize = true;
|
||||
terminal = "tmux-256color";
|
||||
extraConfig = ''
|
||||
unbind C-b
|
||||
# unbind t
|
||||
set -g prefix C-a
|
||||
bind C-a send-prefix
|
||||
|
||||
bind r source-file /etc/tmux.conf
|
||||
|
||||
setw -g mode-keys vi
|
||||
setw -g mouse on
|
||||
|
||||
# make ctrl + arrow keys working
|
||||
set -s extended-keys on
|
||||
set -as terminal-features 'xterm*:extkeys'
|
||||
set -g xterm-keys on
|
||||
|
||||
bind-key -n S-Left select-pane -L
|
||||
bind-key -n S-Down select-pane -D
|
||||
bind-key -n S-Up select-pane -U
|
||||
bind-key -n S-Right select-pane -R
|
||||
|
||||
bind-key -n C-t new-window "#{pane_current_path}"
|
||||
bind t new-window
|
||||
|
||||
bind-key -n M-w previous-window
|
||||
bind-key -n M-e next-window
|
||||
|
||||
set -g base-index 1
|
||||
set -g renumber-windows on
|
||||
|
||||
set-window-option -g clock-mode-colour colour196
|
||||
|
||||
set -g status-bg black
|
||||
set -g status-fg white
|
||||
set -g status-position top
|
||||
set -g status-interval 1
|
||||
|
||||
set -g status-left-length 64
|
||||
set -g status-left "#[bg=colour196,fg=black,bold] [#S] #[bg=black,fg=colour196,nobold,noitalics,nounderscore] "
|
||||
|
||||
set -g status-right-length 64
|
||||
set -g status-right "#[bg=black,fg=black]#[bg=black,fg=white] #{pane_title} #[bg=black,fg=colour196,bold]#[bg=colour196,fg=black,bold] %a %d %b #[fg=black,bold]%H:%M:%S "
|
||||
|
||||
set-window-option -g window-status-current-format "#[bg=colour196,fg=black,nobold,noitalics,nounderscore]#[bg=colour196,fg=black,bold] #I #[bg=colour196,fg=black,bold] #W#{?window_zoomed_flag,*Z,} #[bg=black,fg=colour196,nobold,noitalics,nounderscore]"
|
||||
set-window-option -g window-status-format "#[bg=black,fg=black,noitalics]#[bg=black,fg=white] #I #[bg=black,fg=white] #W #[bg=black,fg=black,noitalics]"
|
||||
|
||||
bind - split-window
|
||||
bind \\ split-window -h
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -3,11 +3,11 @@
|
||||
"flake-compat": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1751685974,
|
||||
"narHash": "sha256-NKw96t+BgHIYzHUjkTK95FqYRVKB8DHpVhefWSz/kTw=",
|
||||
"lastModified": 1777699697,
|
||||
"narHash": "sha256-Eg9b/rq/ECYwNwEXs5i9wHyhxNI0JrYx2srdI2uZMaQ=",
|
||||
"ref": "refs/heads/main",
|
||||
"rev": "549f2762aebeff29a2e5ece7a7dc0f955281a1d1",
|
||||
"revCount": 92,
|
||||
"rev": "382052b74656a369c5408822af3f2501e9b1af81",
|
||||
"revCount": 94,
|
||||
"type": "git",
|
||||
"url": "https://git.lix.systems/lix-project/flake-compat.git"
|
||||
},
|
||||
@@ -25,11 +25,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1753121425,
|
||||
"narHash": "sha256-TVcTNvOeWWk1DXljFxVRp+E0tzG1LhrVjOGGoMHuXio=",
|
||||
"lastModified": 1778716662,
|
||||
"narHash": "sha256-m1Yf0wZ8j1OHjTc2UwHwyQRSnNeSgLJOd7q5Y45hzi4=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "644e0fc48951a860279da645ba77fe4a6e814c5e",
|
||||
"rev": "f7c1a2d347e4c52d5fb8d10cb4d94b5884e546fb",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -43,11 +43,11 @@
|
||||
"nixpkgs": "nixpkgs"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1781477932,
|
||||
"narHash": "sha256-7EZqIpytCiWoVsUQIRytWr2H0esy2xuntQHjG4Hb/48=",
|
||||
"lastModified": 1783099620,
|
||||
"narHash": "sha256-prQSM9PGnrfSaqknJOZ3DCQKbpMiXAWLVC5SHbjLcJ4=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "ed8263e7d7813ec8f447e78e5dcd7f94f333f1d5",
|
||||
"rev": "b2e4390ff35319c52935d6a700b615da4c0f204d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -58,11 +58,11 @@
|
||||
},
|
||||
"mnw": {
|
||||
"locked": {
|
||||
"lastModified": 1748710831,
|
||||
"narHash": "sha256-eZu2yH3Y2eA9DD3naKWy/sTxYS5rPK2hO7vj8tvUCSU=",
|
||||
"lastModified": 1780772958,
|
||||
"narHash": "sha256-VKKe8r4pwCGWZ3Yr9CPN129R4S3CKLSrlYqdYz3vKpM=",
|
||||
"owner": "Gerg-L",
|
||||
"repo": "mnw",
|
||||
"rev": "cff958a4e050f8d917a6ff3a5624bc4681c6187d",
|
||||
"rev": "0871dbf63a53610c95db04439ed8ea4d6ec9c160",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -71,13 +71,36 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"ndg": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nvf",
|
||||
"nvf",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1779233504,
|
||||
"narHash": "sha256-YIKEyzh0NFQlD0O92LQQNMoVCDwV8yw1Xz0Iu+4ZC5U=",
|
||||
"owner": "feel-co",
|
||||
"repo": "ndg",
|
||||
"rev": "86f6644411a64d5413711895b7cf6e0e1be465b6",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "feel-co",
|
||||
"ref": "refs/tags/v2.8.0",
|
||||
"repo": "ndg",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1780365719,
|
||||
"narHash": "sha256-QfWfccTN+70ZQ4m2qlU9PiKfz2Yppq94058iJyARNwc=",
|
||||
"lastModified": 1782175435,
|
||||
"narHash": "sha256-EMzXKmnOtBQ2MnvpiNOm7E+kOMvdPrIKaeg52Tip2Uk=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "ffa10e26ae11d676b2db836259889f1f571cb14f",
|
||||
"rev": "89570f24e97e614aa34aa9ab1c927b6578a43775",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -89,11 +112,11 @@
|
||||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1781577229,
|
||||
"narHash": "sha256-lrp67w8AulE9Ks53n27I45ADSzbOCn4H+CNW1Ck8B+8=",
|
||||
"lastModified": 1782959384,
|
||||
"narHash": "sha256-xnJJk+ct+D2+wdRxj1wk36w5zV9RVESwRqcklPdt3fM=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "567a49d1913ce81ac6e9582e3553dd90a955875f",
|
||||
"rev": "65179426c83bb3f6bc14898b42ea1c6f01d374b0",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -121,16 +144,16 @@
|
||||
},
|
||||
"nixpkgs_4": {
|
||||
"locked": {
|
||||
"lastModified": 1753432016,
|
||||
"narHash": "sha256-cnL5WWn/xkZoyH/03NNUS7QgW5vI7D1i74g48qplCvg=",
|
||||
"lastModified": 1781216227,
|
||||
"narHash": "sha256-9mUW6gNwoN2SWc/l0fW4svPNOulXLl8ijqKyeSOGgJE=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "6027c30c8e9810896b92429f0092f624f7b1aace",
|
||||
"rev": "a0374025a863d007d98e3297f6aa46cc3141c2f0",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"ref": "nixpkgs-unstable",
|
||||
"ref": "nixos-26.05",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
@@ -141,11 +164,11 @@
|
||||
"nvf": "nvf_2"
|
||||
},
|
||||
"locked": {
|
||||
"path": "./modules/nvim",
|
||||
"path": "./config/desktop/nvim",
|
||||
"type": "path"
|
||||
},
|
||||
"original": {
|
||||
"path": "./modules/nvim",
|
||||
"path": "./config/desktop/nvim",
|
||||
"type": "path"
|
||||
},
|
||||
"parent": []
|
||||
@@ -155,15 +178,16 @@
|
||||
"flake-compat": "flake-compat",
|
||||
"flake-parts": "flake-parts",
|
||||
"mnw": "mnw",
|
||||
"ndg": "ndg",
|
||||
"nixpkgs": "nixpkgs_4",
|
||||
"systems": "systems"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1754388740,
|
||||
"narHash": "sha256-6++6FDc/hcMpaJPgOrGzwmzCSgix3zIlcuTIy9+aNSs=",
|
||||
"lastModified": 1781534482,
|
||||
"narHash": "sha256-d3UIqXuigQhsc7amQkZ7F+SWnaJFAxIROE2f2X+pzUs=",
|
||||
"owner": "notashelf",
|
||||
"repo": "nvf",
|
||||
"rev": "22fb0d22cc474e85f94c5aa95b6c550c81ca7278",
|
||||
"rev": "63d8fc82d652c23419a837e2b2934dd4bead04f3",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
||||
@@ -2,13 +2,15 @@
|
||||
inputs = {
|
||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||
home-manager.url = "github:nix-community/home-manager";
|
||||
nvf.url = "path:./modules/nvim";
|
||||
nvf.url = "path:./config/desktop/nvim";
|
||||
};
|
||||
outputs = { self, nixpkgs, home-manager, nvf, ... }@inputs:
|
||||
let
|
||||
system = "x86_64-linux";
|
||||
in {
|
||||
nixosConfigurations.darkstar = nixpkgs.lib.nixosSystem {
|
||||
nixosConfigurations = {
|
||||
# desktop
|
||||
darkstar = nixpkgs.lib.nixosSystem {
|
||||
system = "x86_64-linux";
|
||||
specialArgs = { inherit inputs system; };
|
||||
modules = [
|
||||
@@ -20,11 +22,59 @@
|
||||
useGlobalPkgs = true;
|
||||
useUserPackages = true;
|
||||
extraSpecialArgs = { inherit inputs; };
|
||||
users.user = ./modules/home/home.nix;
|
||||
users.user = ./config/desktop/home/home.nix;
|
||||
};
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
# thinkpad t14 gen 2i
|
||||
molniya = nixpkgs.lib.nixosSystem {
|
||||
system = "x86_64-linux";
|
||||
specialArgs = { inherit inputs system; };
|
||||
modules = [
|
||||
nvf.nixosModules.default
|
||||
./hosts/darkstar/configuration.nix
|
||||
home-manager.nixosModules.home-manager
|
||||
{
|
||||
home-manager = {
|
||||
useGlobalPkgs = true;
|
||||
useUserPackages = true;
|
||||
extraSpecialArgs = { inherit inputs; };
|
||||
users.user = ./config/desktop/home/home.nix;
|
||||
};
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
|
||||
# server (r320)
|
||||
kepler = nixpkgs.lib.nixosSystem {
|
||||
system = "x86_64-linux";
|
||||
specialArgs = { inherit inputs system; };
|
||||
modules = [
|
||||
./hosts/kepler/configuration.nix
|
||||
home-manager.nixosModules.home-manager
|
||||
{
|
||||
home-manager = {
|
||||
useGlobalPkgs = true;
|
||||
useUserPackages = true;
|
||||
extraSpecialArgs = { inherit inputs; };
|
||||
users.user = ./hosts/kepler/config/home/home.nix;
|
||||
};
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
# router
|
||||
voyager = nixpkgs.lib.nixosSystem {
|
||||
system = "x86_64-linux";
|
||||
specialArgs = { inherit inputs system; };
|
||||
modules = [
|
||||
./hosts/voyager/configuration.nix
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
{ config, pkgs, ... }:
|
||||
{
|
||||
imports = [
|
||||
./boot.nix
|
||||
./gaming.nix
|
||||
./graphics.nix
|
||||
./networking.nix
|
||||
#./openrgb.nix
|
||||
];
|
||||
}
|
||||
@@ -4,10 +4,11 @@
|
||||
imports =
|
||||
[
|
||||
./hardware-configuration.nix
|
||||
../../modules/default.nix
|
||||
./config/default.nix
|
||||
../../config/default/default.nix
|
||||
|
||||
];
|
||||
networking.hostName = "darkstar";
|
||||
boot.initrd.luks.devices."luks-9cd65807-a47b-4ffe-ac11-05680b9fffb0".device = "/dev/disk/by-uuid/9cd65807-a47b-4ffe-ac11-05680b9fffb0";
|
||||
time.timeZone = "Europe/Berlin";
|
||||
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
_:
|
||||
{
|
||||
boot = {
|
||||
loader = {
|
||||
systemd-boot = {
|
||||
enable = true;
|
||||
};
|
||||
efi = {
|
||||
canTouchEfiVariables = true;
|
||||
};
|
||||
};
|
||||
initrd.systemd.enable = true;
|
||||
supportedFilesystems = [ "zfs" ];
|
||||
|
||||
zfs = {
|
||||
devNodes = "/dev/disk/by-id";
|
||||
forceImportRoot = true;
|
||||
forceImportAll = true;
|
||||
};
|
||||
kernelParams = [ "scsi_mod.scan=sync" "rootdelay=10" "zfs.zfs_arc_max=34359738368" ];
|
||||
extraModprobeConfig = ''
|
||||
options scsi_mod scan=sync
|
||||
'';
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
_:
|
||||
{
|
||||
imports = [
|
||||
./boot.nix
|
||||
./networking.nix
|
||||
./gnupg.nix
|
||||
./pkgs.nix
|
||||
./system.nix
|
||||
./ssh.nix
|
||||
./jellyfin.nix
|
||||
./shell.nix
|
||||
./freedom/default.nix
|
||||
./docker/default.nix
|
||||
];
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
{ config, pkgs, ... }:
|
||||
{
|
||||
virtualisation = {
|
||||
oci-containers = {
|
||||
backend = "docker";
|
||||
};
|
||||
docker = {
|
||||
enable = true;
|
||||
enableOnBoot = true;
|
||||
rootless = {
|
||||
enable = true;
|
||||
setSocketVariable = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
imports = [
|
||||
./gluetun.nix
|
||||
./qbittorrent.nix
|
||||
./jdownloader.nix
|
||||
];
|
||||
}
|
||||
@@ -0,0 +1,56 @@
|
||||
{ config, pkgs, ... }:
|
||||
let
|
||||
protonvpnConfig = {
|
||||
VPN_SERVICE_PROVIDER = "protonvpn";
|
||||
VPN_PORT_FORWARDING = "on";
|
||||
VPN_PORT_FORWARDING_PROVIDER="protonvpn";
|
||||
};
|
||||
gluetunConfig = {
|
||||
SHADOWSOCKS = "on";
|
||||
HTTPPROXY = "on";
|
||||
HTTPPROXY_STEALTH = "on";
|
||||
|
||||
FIREWALL_OUTBOUND_SUBNETS="10.11.0.0/24";
|
||||
DNS_UPSTREAM_RESOLVERS = "cloudflare";
|
||||
|
||||
BLOCK_SURVEILLANCE="on";
|
||||
BLOCK_ADS="on";
|
||||
BLOCK_MALICIOUS="on";
|
||||
};
|
||||
in
|
||||
{
|
||||
virtualisation.oci-containers.containers = {
|
||||
# protonvpn
|
||||
pvpn-de-01 = {
|
||||
autoStart = true;
|
||||
image = "qmcgaw/gluetun:latest";
|
||||
capabilities = { NET_ADMIN = true; };
|
||||
devices = [ "/dev/net/tun:/dev/net/tun" ];
|
||||
environmentFiles = [
|
||||
"/etc/secrets/gluetun.env"
|
||||
];
|
||||
environment = {
|
||||
# GLUETUN ENV VARS #
|
||||
VPN_TYPE="openvpn";
|
||||
SERVER_COUNTRIES = "Germany";
|
||||
VPN_INTERFACE="tun0";
|
||||
|
||||
} // protonvpnConfig // gluetunConfig;
|
||||
ports = [
|
||||
# gluetun
|
||||
"8000:8000"
|
||||
"7001:8388/tcp"
|
||||
"7001:8388/udp"
|
||||
"8001:8888"
|
||||
|
||||
# qbittorrent
|
||||
"8080:8080"
|
||||
"6881:6881/tcp"
|
||||
"6881:6881/udp"
|
||||
|
||||
# jdownloader
|
||||
"5800:5800"
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
_:
|
||||
{
|
||||
virtualisation.oci-containers.containers = {
|
||||
# qbittorrent
|
||||
jdownloader = {
|
||||
autoStart = true;
|
||||
image = "jlesage/jdownloader-2:latest";
|
||||
networks = [
|
||||
"container:pvpn-de-01"
|
||||
];
|
||||
environment = {
|
||||
TZ="Europe/Berlin";
|
||||
KEEP_APP_RUNNING="1";
|
||||
DARK_MODE="1";
|
||||
};
|
||||
volumes = [
|
||||
"/srv/docker/jdownloader/config:/config:rw"
|
||||
"/srv/docker/jdownloader/downloads:/output:rw"
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
_:
|
||||
{
|
||||
virtualisation.oci-containers.containers = {
|
||||
# qbittorrent
|
||||
qbittorrent = {
|
||||
autoStart = true;
|
||||
image = "qbittorrentofficial/qbittorrent-nox:latest";
|
||||
networks = [
|
||||
"container:pvpn-de-01"
|
||||
];
|
||||
environment = {
|
||||
WEBUI_PORT = "8080";
|
||||
TZ="Europe/Berlin";
|
||||
};
|
||||
volumes = [
|
||||
"/srv/docker/qbittorrent/config:/config"
|
||||
"/srv/docker/qbittorrent/downloads:/downloads"
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
_:
|
||||
{
|
||||
imports = [
|
||||
./invidious.nix
|
||||
./nitter.nix
|
||||
./tor.nix
|
||||
./unbound.nix
|
||||
];
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{ config, pkgs, ... }:
|
||||
{
|
||||
services = {
|
||||
invidious = {
|
||||
enable = true;
|
||||
port = 3001;
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
{ config, pkgs, ... }:
|
||||
{
|
||||
services = {
|
||||
nitter = {
|
||||
enable = true;
|
||||
|
||||
server = {
|
||||
https = true;
|
||||
port = 3002;
|
||||
hostname = "nitter twitter";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
_:
|
||||
{
|
||||
services.tor = {
|
||||
enable = true;
|
||||
enableGeoIP = true;
|
||||
client = {
|
||||
enable = true;
|
||||
socksListenAddress = {
|
||||
IsolateDestAddr = true;
|
||||
addr = "10.11.0.10";
|
||||
port = 9050;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
_:
|
||||
{
|
||||
services.unbound = {
|
||||
enable = true;
|
||||
enableRootTrustAnchor = true;
|
||||
settings = {
|
||||
server = {
|
||||
interface = [ "127.0.0.1" "10.11.0.10" ];
|
||||
|
||||
access-control = [
|
||||
"127.0.0.0/8 allow"
|
||||
"10.11.0.0/24 allow"
|
||||
];
|
||||
|
||||
prefetch = true;
|
||||
prefetch-key = true;
|
||||
qname-minimisation = true;
|
||||
|
||||
hide-identity = true;
|
||||
hide-version = true;
|
||||
|
||||
harden-glue = true;
|
||||
harden-below-nxdomain = true;
|
||||
harden-dnssec-stripped = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
_:
|
||||
{
|
||||
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
_:
|
||||
{
|
||||
programs.gnupg.agent = {
|
||||
enable = true;
|
||||
enableSSHSupport = true;
|
||||
};
|
||||
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
{ config, pkgs, ... }:
|
||||
{
|
||||
home = {
|
||||
username = "user";
|
||||
homeDirectory = "/home/user";
|
||||
|
||||
enableNixpkgsReleaseCheck = false;
|
||||
stateVersion = "26.05";
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{ config, pkgs, ... }:
|
||||
{
|
||||
services = {
|
||||
jellyfin = {
|
||||
enable = true;
|
||||
openFirewall = false;
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
_:
|
||||
{
|
||||
networking = {
|
||||
hostName = "kepler";
|
||||
hostId = "a984053d";
|
||||
networkmanager = { enable = true; };
|
||||
firewall = { enable = false; };
|
||||
|
||||
interfaces = {
|
||||
eno1 = {
|
||||
ipv4.addresses = [{
|
||||
address = "10.11.0.10";
|
||||
prefixLength = 24;
|
||||
}];
|
||||
};
|
||||
};
|
||||
defaultGateway = {
|
||||
address = "10.11.0.1";
|
||||
interface = "eno1";
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
environment.systemPackages = with pkgs; [
|
||||
vim
|
||||
wget
|
||||
git
|
||||
curl
|
||||
fastfetch
|
||||
net-tools
|
||||
ethtool
|
||||
dhcpcd
|
||||
dig
|
||||
usbutils
|
||||
dhcpcd
|
||||
host
|
||||
dnslookup
|
||||
drill
|
||||
dig
|
||||
tree
|
||||
lsof
|
||||
];
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
_:
|
||||
{
|
||||
services = {
|
||||
openssh = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
_:
|
||||
{
|
||||
nix.settings.experimental-features = [ "nix-command" "flakes" ];
|
||||
system = {
|
||||
stateVersion = "26.05";
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
./hardware-configuration.nix
|
||||
./config/default.nix
|
||||
../../config/default/default.nix
|
||||
];
|
||||
|
||||
time.timeZone = "Europe/Berlin";
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
{ config, lib, pkgs, modulesPath, ... }:
|
||||
|
||||
{
|
||||
imports =
|
||||
[ (modulesPath + "/installer/scan/not-detected.nix")
|
||||
];
|
||||
|
||||
boot.initrd.availableKernelModules = [ "ehci_pci" "ahci" "mpt3sas" "usb_storage" "usbhid" "sd_mod" ];
|
||||
boot.initrd.kernelModules = [ ];
|
||||
boot.kernelModules = [ "kvm-intel" ];
|
||||
boot.extraModulePackages = [ ];
|
||||
|
||||
fileSystems."/" =
|
||||
{ device = "rpool/root";
|
||||
fsType = "zfs";
|
||||
};
|
||||
|
||||
fileSystems."/boot" =
|
||||
{ device = "/dev/disk/by-uuid/9B62-3696";
|
||||
fsType = "vfat";
|
||||
options = [ "fmask=0022" "dmask=0022" ];
|
||||
};
|
||||
fileSystems."/data/storage" = {
|
||||
device = "data/storage";
|
||||
fsType = "zfs";
|
||||
};
|
||||
swapDevices = [ ];
|
||||
|
||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
{ config, pkgs, ... }:
|
||||
{
|
||||
boot = {
|
||||
initrd = {
|
||||
luks = {
|
||||
devices."luks-d810fef7-b1c9-4007-bcb1-12c99c8692b0".device = "/dev/disk/by-uuid/d810fef7-b1c9-4007-bcb1-12c99c8692b0";
|
||||
};
|
||||
};
|
||||
extraModulePackages = with config.boot.kernelPackages; [ ];
|
||||
kernelParams = [ "debug" ];
|
||||
loader = {
|
||||
efi = {
|
||||
# canTouchEfiVariables = true;
|
||||
efiSysMountPoint = "/boot";
|
||||
};
|
||||
grub = {
|
||||
enable = true;
|
||||
copyKernels = true;
|
||||
efiInstallAsRemovable = true;
|
||||
enableCryptodisk = false;
|
||||
efiSupport = true;
|
||||
devices = [ "nodev" ];
|
||||
extraEntries = ''
|
||||
menuentry "Reboot" {
|
||||
reboot
|
||||
}
|
||||
menuentry "Poweroff" {
|
||||
halt
|
||||
}
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
{ config, pkgs, ... }:
|
||||
{
|
||||
imports =
|
||||
[
|
||||
./boot.nix
|
||||
./networking.nix
|
||||
./pkgs.nix
|
||||
./irc.nix
|
||||
];
|
||||
}
|
||||