formated using alejandra

This commit is contained in:
Don Harper 2024-06-30 09:47:45 -05:00
parent 88a48b895c
commit 4b1114a616
92 changed files with 1377 additions and 1156 deletions

View file

@ -10,7 +10,7 @@
stylix.inputs.nixpkgs.follows = "nixpkgs";
};
outputs = inputs@{
outputs = inputs @ {
self,
nixpkgs,
nix,
@ -18,18 +18,17 @@
home-manager,
stylix,
...
}:
let
}: let
inherit (self) outputs;
lib = nixpkgs.lib // home-manager.lib;
systems = [ "x86_64-linux" "aarch64-linux" ];
systems = ["x86_64-linux" "aarch64-linux"];
forEachSystem = f: lib.genAttrs systems (system: f pkgsFor.${system});
pkgsFor = lib.genAttrs systems (system: import nixpkgs {
pkgsFor = lib.genAttrs systems (system:
import nixpkgs {
inherit system;
config.allowUnfree = true;
});
in
{
in {
inherit lib;
# nixosModules = import ./modules/nixos;
# homeManagerModules = import ./modules/home-manager;
@ -44,67 +43,67 @@
nixosConfigurations = {
# clients
ace = lib.nixosSystem {
modules = [ ./hosts/ace ];
specialArgs = { inherit inputs outputs; };
modules = [./hosts/ace];
specialArgs = {inherit inputs outputs;};
};
dragon = lib.nixosSystem {
modules = [ ./hosts/dragon ];
specialArgs = { inherit inputs outputs; };
modules = [./hosts/dragon];
specialArgs = {inherit inputs outputs;};
};
eve = lib.nixosSystem {
modules = [ ./hosts/eve ];
specialArgs = { inherit inputs outputs; };
modules = [./hosts/eve];
specialArgs = {inherit inputs outputs;};
};
loki = lib.nixosSystem {
modules = [ ./hosts/loki ];
specialArgs = { inherit inputs outputs; };
modules = [./hosts/loki];
specialArgs = {inherit inputs outputs;};
};
pocket2 = lib.nixosSystem {
modules = [ ./hosts/pocket2 ];
specialArgs = { inherit inputs outputs; };
modules = [./hosts/pocket2];
specialArgs = {inherit inputs outputs;};
};
smaug = lib.nixosSystem {
modules = [ ./hosts/smaug ];
specialArgs = { inherit inputs outputs; };
modules = [./hosts/smaug];
specialArgs = {inherit inputs outputs;};
};
t2 = lib.nixosSystem {
modules = [ ./hosts/t2 ];
specialArgs = { inherit inputs outputs; };
modules = [./hosts/t2];
specialArgs = {inherit inputs outputs;};
};
# servers
display = lib.nixosSystem {
modules = [ ./hosts/display ];
specialArgs = { inherit inputs outputs; };
modules = [./hosts/display];
specialArgs = {inherit inputs outputs;};
};
fred = lib.nixosSystem {
modules = [ ./hosts/fred ];
specialArgs = { inherit inputs outputs; };
modules = [./hosts/fred];
specialArgs = {inherit inputs outputs;};
};
vm = lib.nixosSystem {
modules = [ ./hosts/vm ];
specialArgs = { inherit inputs outputs; };
modules = [./hosts/vm];
specialArgs = {inherit inputs outputs;};
};
harper2 = lib.nixosSystem {
modules = [ ./hosts/harper2 ];
specialArgs = { inherit inputs outputs; };
modules = [./hosts/harper2];
specialArgs = {inherit inputs outputs;};
};
harper = lib.nixosSystem {
modules = [ ./hosts/harper ];
specialArgs = { inherit inputs outputs; };
modules = [./hosts/harper];
specialArgs = {inherit inputs outputs;};
};
nuwww = lib.nixosSystem {
modules = [ ./hosts/nuwww ];
specialArgs = { inherit inputs outputs; };
modules = [./hosts/nuwww];
specialArgs = {inherit inputs outputs;};
};
pihole = lib.nixosSystem {
modules = [ ./hosts/pihole ];
specialArgs = { inherit inputs outputs; };
modules = [./hosts/pihole];
specialArgs = {inherit inputs outputs;};
};
www2 = lib.nixosSystem {
modules = [ ./hosts/www2 ];
specialArgs = { inherit inputs outputs; };
modules = [./hosts/www2];
specialArgs = {inherit inputs outputs;};
};
};
};

View file

@ -1,6 +1,9 @@
{ config, pkgs, ... }:
{
imports = [ ./bash_complition.nix ];
config,
pkgs,
...
}: {
imports = [./bash_complition.nix];
home.file.".bash_local".source = files/bash/bash_local;
home.file.".bash_aliases".source = files/bash/bash_aliases;
home.file.".bash_functions".source = files/bash/bash_functions;

View file

@ -1,4 +1,4 @@
{ pkgs, ... }: {
{pkgs, ...}: {
home.file = {
doascomplete = {
enable = true;

View file

@ -1,5 +1,8 @@
{ config, pkgs, ... }:
{
config,
pkgs,
...
}: {
#home.packages = with pkgs; [ btop ];
programs.btop = {
enable = true;

View file

@ -1,5 +1,4 @@
{ pkgs, ... }:
{
{pkgs, ...}: {
programs.neovim = {
plugins = with pkgs.vimPlugins; [
{
@ -99,3 +98,4 @@
};
}
# vim: shiftwidth=2 tabstop=2 expandtab

View file

@ -1,5 +1,8 @@
{ config, pkgs, ... }:
{
config,
pkgs,
...
}: {
imports = [
./bash.nix
./btop.nix

View file

@ -1,6 +1,8 @@
{ pkgs, config, ... }:
{
pkgs,
config,
...
}: {
programs.lazygit = {
settings = {
os.editPreset = "lvim";

View file

@ -1,5 +1,4 @@
{ ... }:
{
{...}: {
programs.gpg = {
enable = true;
settings = {

View file

@ -1,5 +1,5 @@
{ pkgs, ... }: {
home.packages = with pkgs; [ khal ];
{pkgs, ...}: {
home.packages = with pkgs; [khal];
xdg.configFile."khal/config".text = ''
[calendars]
[[work]]

View file

@ -1,12 +1,15 @@
{ config, pkgs, ... }:
{
config,
pkgs,
...
}: {
programs.khard = {
enable = true;
settings = {
general = {
default_action = "list";
editor = "${pkgs.neovim}/bin/nvim";
merge_editor = [ "${pkgs.neovim}/bin/nvim" "-d" ];
merge_editor = ["${pkgs.neovim}/bin/nvim" "-d"];
};
"contact table" = {
display = "first_name";
@ -16,11 +19,11 @@
show_uids = "no";
sort = "last_name";
localize_dates = "yes";
preferred_phone_number_type = [ "pref" "cell" "home" ];
preferred_email_address_type = [ "pref" "work" "home" ];
preferred_phone_number_type = ["pref" "cell" "home"];
preferred_email_address_type = ["pref" "work" "home"];
};
vcard = {
private_objects = [ "Jabber" "Skype" "Twitter" "Mastodon" ];
private_objects = ["Jabber" "Skype" "Twitter" "Mastodon"];
preferred_version = "3.0";
search_in_source_files = "no";
skip_unparsable = "no";

View file

@ -1,6 +1,8 @@
{ pkgs, config, ... }:
{
pkgs,
config,
...
}: {
xdg.configFile."lf/icons".source = ./icons;
programs.lf = {
@ -17,7 +19,6 @@
};
keybindings = {
"\\\"" = "";
o = "";
c = "mkdir";
@ -45,10 +46,8 @@
ignorecase = true;
};
extraConfig =
let
previewer =
pkgs.writeShellScriptBin "pv.sh" ''
extraConfig = let
previewer = pkgs.writeShellScriptBin "pv.sh" ''
file=$1
w=$2
h=$3
@ -65,8 +64,7 @@
cleaner = pkgs.writeShellScriptBin "clean.sh" ''
${pkgs.kitty}/bin/kitty +kitten icat --clear --stdin no --silent --transfer-mode file < /dev/null > /dev/tty
'';
in
''
in ''
set cleaner ${cleaner}/bin/clean.sh
set previewer ${previewer}/bin/pv.sh
'';

View file

@ -1,5 +1,5 @@
{ pkgs, ... }: {
home.packages = with pkgs; [ liquidprompt ];
{pkgs, ...}: {
home.packages = with pkgs; [liquidprompt];
xdg.configFile."liquidpromptrc".text = ''
source ~/.config/liquidprompt.theme
LOCAL_RCFILE=$HOME/.config/liquidpromptrc.local

View file

@ -1,6 +1,9 @@
{ config, pkgs, ... }:
{
home.packages = with pkgs; [ listadmin ];
config,
pkgs,
...
}: {
home.packages = with pkgs; [listadmin];
home.file."listadmin.ini" = {
enable = true;
target = ".listadmin.ini";
@ -18,4 +21,3 @@
'';
};
}

View file

@ -1,5 +1,8 @@
{ config, pkgs, ... }:
{
config,
pkgs,
...
}: {
accounts.email.accounts = {
"don@donharper.org" = {
primary = true;
@ -14,8 +17,8 @@
programs.notmuch = {
enable = true;
new = {
tags = [ "unread" ];
ignore = [ ".mbsyncstate" ".uidvalidity" ".mbsyncstate.journal" ".mbsyncstate.new" ".mbsyncstate.lock" ];
tags = ["unread"];
ignore = [".mbsyncstate" ".uidvalidity" ".mbsyncstate.journal" ".mbsyncstate.new" ".mbsyncstate.lock"];
};
extraConfig = {
database = {
@ -52,7 +55,7 @@
Type = "oneshot";
};
Install = {
WantedBy = [ "mbsync.timer" ];
WantedBy = ["mbsync.timer"];
};
};

View file

@ -1,6 +1,8 @@
{ pkgs, config, ... }:
{
pkgs,
config,
...
}: {
services = {
mopidy = {
enable = true;

View file

@ -1,13 +1,15 @@
{ config, pkgs, ... }:
{
config,
pkgs,
...
}: {
programs.neovim = {
enable = true;
defaultEditor = false;
viAlias = true;
vimAlias = true;
vimdiffAlias = true;
extraConfig =
''
extraConfig = ''
colorscheme dracula
set backspace="indent,eol,start"
set autoindent

View file

@ -1,13 +1,15 @@
{ config, pkgs, ... }:
{
config,
pkgs,
...
}: {
programs.newsboat = {
enable = true;
autoReload = true;
browser = "~/bin/myweb";
reloadThreads = 4;
reloadTime = 45;
extraConfig =
''
extraConfig = ''
article-sort-order date
bind-key D mark-feed-read
bind-key J next-feed

View file

@ -1,6 +1,5 @@
{ pkgs, ... }:
{
home.packages = with pkgs; [ taskwarrior taskwarrior-tui tasksh vit timewarrior ];
{pkgs, ...}: {
home.packages = with pkgs; [taskwarrior taskwarrior-tui tasksh vit timewarrior];
programs.taskwarrior = {
enable = true;
colorTheme = "dark-green-256";

View file

@ -1,5 +1,4 @@
{ pkgs, ... }:
{
{pkgs, ...}: {
programs.tmux = {
enable = true;
aggressiveResize = true;
@ -21,16 +20,14 @@
pkgs.tmuxPlugins.vim-tmux-navigator
{
plugin = pkgs.tmuxPlugins.online-status;
extraConfig =
''
extraConfig = ''
set -g @online_icon "ok"
set -g @offline_icon "offline!"
'';
}
{
plugin = pkgs.tmuxPlugins.dracula;
extraConfig =
''
extraConfig = ''
set -g @dracula-plugins "cpu-usage network battery weather time"
set -g @dracula-border-contrast true
set -g @dracula-refresh-rate 10
@ -45,8 +42,7 @@
'';
}
];
extraConfig =
''
extraConfig = ''
bind '~' split-window "exec btop"
bind - split-window -v -c "#{pane_current_path}"
bind | split-window -h -c "#{pane_current_path}"
@ -141,8 +137,8 @@
ubuntu:-sc mini -sc www -sc harper2
vm:-sc vm1 -sc vm2
all-laptop:-cs laptop -sc smaug -sc dragon -sc pocket2 -sc ace -sc eve
# -sc pine
#all:-cs server -cs laptop
# -sc pine
#all:-cs server -cs laptop
all:-cs server -cs all-laptop
test:-cs all -cs vm
'';

View file

@ -1,6 +1,10 @@
{ pkgs, ... }: {
home.packages = with pkgs; [ todoman ];
xdg.configFile."todoman/config.py".text = /* python */ ''
{pkgs, ...}: {
home.packages = with pkgs; [todoman];
xdg.configFile."todoman/config.py".text =
/*
python
*/
''
path = "~/.config/vdirsyncer/storage/calendar/*"
date_format = "%Y-%m-%d"
time_format = "%H:%M"

View file

@ -1,5 +1,8 @@
{ config, pkgs, ... }:
{
config,
pkgs,
...
}: {
programs.topgrade = {
enable = true;
settings = {

View file

@ -1,5 +1,5 @@
{ pkgs, ... }: {
home.packages = with pkgs; [ vifm-full ];
{pkgs, ...}: {
home.packages = with pkgs; [vifm-full];
xdg.configFile."vifm/vifmrc".text = ''
" vim: filetype=vifm :
set runexec

View file

@ -1,8 +1,10 @@
{ inputs, outputs, ... }:
{
imports = [ inputs.home-manager.nixosModules.home-manager ];
home-manager.extraSpecialArgs = { inherit inputs outputs; };
inputs,
outputs,
...
}: {
imports = [inputs.home-manager.nixosModules.home-manager];
home-manager.extraSpecialArgs = {inherit inputs outputs;};
home-manager = {
useGlobalPkgs = true;
useUserPackages = true;

View file

@ -1,5 +1,4 @@
{ pkgs, ... }:
{
{pkgs, ...}: {
programs.alacritty = {
enable = true;
settings = {
@ -15,3 +14,4 @@
};
}
# vim: shiftwidth=2 tabstop=2 expandtab

View file

@ -1,4 +1,4 @@
{ pkgs, ... }: {
{pkgs, ...}: {
xdg.configFile."autostart" = {
recursive = true;
source = ./files/autostart;

View file

@ -1,4 +1,4 @@
{ pkgs, ... }: {
{pkgs, ...}: {
home.packages = with pkgs; [
gnome.gnome-boxes
libvirt

View file

@ -1,5 +1,8 @@
{ pkgs, inputs, ... }:
{
pkgs,
inputs,
...
}: {
home-manager.users.don = {
imports = [
./alacritty.nix
@ -13,7 +16,8 @@
./sway.nix
./terminals.nix
];
home.packages = with pkgs; [
home.packages = with pkgs;
[
anonymousPro
at-spi2-core
blueberry
@ -70,40 +74,41 @@
widevine-cdm
wofi
yt-dlp
] ++ lib.optional (pkgs.hostPlatform.system == "x86_64-linux") sonixd;
]
++ lib.optional (pkgs.hostPlatform.system == "x86_64-linux") sonixd;
xdg = {
mimeApps = {
enable = true;
associations.added = {
"application/octet-stream" = [ "gvim.desktop" ];
"application/pdf" = [ "qpdfview.desktop;org.gnome.Evince.desktop;org.pwmt.zathura-pdf-mupdf.desktop" ];
"audio/mpeg" = [ "org.kde.kid3.desktop" ];
"image/jpeg" = [ "darktable.desktop;gimp.desktop;imv.desktop" ];
"image/png" = [ "darktable.desktop;gimp.desktop;imv-folder.desktop;imv.desktop" ];
"image/x-adobe-dng" = [ "imv.desktop" ];
"inode/directory" = [ "thunar.desktop" ];
"text/plain" = [ "gvim.desktop" ];
"x-scheme-handler/pdf" = [ "pdfview.desktop" ];
"x-scheme-handler/tg" = [ "userapp-Telegram Desktop-9M6O50.desktop;userapp-Telegram Desktop-6IJLW1.desktop;userapp-Telegram Desktop-IQIXX1.desktop;userapp-Telegram Desktop-FK06Y1.desktop;userapp-Telegram Desktop-1SZ7Y1.desktop;userapp-Telegram Desktop-C24MZ1.desktop;userapp-Telegram Desktop-29FD01.desktop;userapp-Telegram Desktop-21P401.desktop;userapp-Telegram Desktop-LOTG11.desktop" ];
"application/octet-stream" = ["gvim.desktop"];
"application/pdf" = ["qpdfview.desktop;org.gnome.Evince.desktop;org.pwmt.zathura-pdf-mupdf.desktop"];
"audio/mpeg" = ["org.kde.kid3.desktop"];
"image/jpeg" = ["darktable.desktop;gimp.desktop;imv.desktop"];
"image/png" = ["darktable.desktop;gimp.desktop;imv-folder.desktop;imv.desktop"];
"image/x-adobe-dng" = ["imv.desktop"];
"inode/directory" = ["thunar.desktop"];
"text/plain" = ["gvim.desktop"];
"x-scheme-handler/pdf" = ["pdfview.desktop"];
"x-scheme-handler/tg" = ["userapp-Telegram Desktop-9M6O50.desktop;userapp-Telegram Desktop-6IJLW1.desktop;userapp-Telegram Desktop-IQIXX1.desktop;userapp-Telegram Desktop-FK06Y1.desktop;userapp-Telegram Desktop-1SZ7Y1.desktop;userapp-Telegram Desktop-C24MZ1.desktop;userapp-Telegram Desktop-29FD01.desktop;userapp-Telegram Desktop-21P401.desktop;userapp-Telegram Desktop-LOTG11.desktop"];
};
defaultApplications = {
"inode/directory" = [ "thunar.desktop" ];
"model/3mf" = [ "com.ultimaker.cura.desktop" ];
"model/gltf+json" = [ "com.ultimaker.cura.desktop" ];
"model/gltf-binary" = [ "com.ultimaker.cura.desktop" ];
"model/stl" = [ "com.ultimaker.cura.desktop" ];
"text/html" = [ "org.qutebrowser.qutebrowser.desktop" ];
"x-scheme-handler/about" = [ "org.qutebrowser.qutebrowser.desktop" ];
"x-scheme-handler/etcher" = [ "balena-etcher.desktop" ];
"x-scheme-handler/http" = [ "org.qutebrowser.qutebrowser.desktop" ];
"x-scheme-handler/https" = [ "org.qutebrowser.qutebrowser.desktop" ];
"x-scheme-handler/msteams" = [ "teams-for-linux.desktop" ];
"x-scheme-handler/pdf" = [ "myweb.desktop" ];
"x-scheme-handler/tg" = [ "userapp-Telegram Desktop-LOTG11.desktop" ];
"x-scheme-handler/tootle" = [ "com.github.bleakgrey.tootle.desktop" ];
"x-scheme-handler/unknown" = [ "org.qutebrowser.qutebrowser.desktop" ];
"application/pdf" = [ "org.pwmt.zathura-pdf-mupdf.desktop" ];
"x-scheme-handler/mailto" = [ "neomutt.desktop" ];
"inode/directory" = ["thunar.desktop"];
"model/3mf" = ["com.ultimaker.cura.desktop"];
"model/gltf+json" = ["com.ultimaker.cura.desktop"];
"model/gltf-binary" = ["com.ultimaker.cura.desktop"];
"model/stl" = ["com.ultimaker.cura.desktop"];
"text/html" = ["org.qutebrowser.qutebrowser.desktop"];
"x-scheme-handler/about" = ["org.qutebrowser.qutebrowser.desktop"];
"x-scheme-handler/etcher" = ["balena-etcher.desktop"];
"x-scheme-handler/http" = ["org.qutebrowser.qutebrowser.desktop"];
"x-scheme-handler/https" = ["org.qutebrowser.qutebrowser.desktop"];
"x-scheme-handler/msteams" = ["teams-for-linux.desktop"];
"x-scheme-handler/pdf" = ["myweb.desktop"];
"x-scheme-handler/tg" = ["userapp-Telegram Desktop-LOTG11.desktop"];
"x-scheme-handler/tootle" = ["com.github.bleakgrey.tootle.desktop"];
"x-scheme-handler/unknown" = ["org.qutebrowser.qutebrowser.desktop"];
"application/pdf" = ["org.pwmt.zathura-pdf-mupdf.desktop"];
"x-scheme-handler/mailto" = ["neomutt.desktop"];
};
};
desktopEntries = {
@ -129,7 +134,7 @@
terminal = false;
name = "myweb";
exec = "/home/don/bin/myweb %u";
mimeType = [ "x-scheme-handler/pdf" ];
mimeType = ["x-scheme-handler/pdf"];
};
cooking-notebook = {
type = "Application";
@ -144,8 +149,8 @@
type = "Application";
icon = "obsidian";
comment = "Obsidian";
mimeType = [ "x-scheme-handler/obsidian" ];
categories = [ "Office" ];
mimeType = ["x-scheme-handler/obsidian"];
categories = ["Office"];
};
journal = {
name = "Journal";
@ -154,8 +159,8 @@
type = "Application";
icon = "obsidian";
comment = "Obsidian Journal";
mimeType = [ "x-scheme-handler/obsidian" ];
categories = [ "Office" ];
mimeType = ["x-scheme-handler/obsidian"];
categories = ["Office"];
};
};
configFile = {

View file

@ -1,6 +1,9 @@
{ config, pkgs, ... }:
{
home.packages = with pkgs; [ fuzzel ];
config,
pkgs,
...
}: {
home.packages = with pkgs; [fuzzel];
programs.fuzzel = {
enable = true;
settings = {

View file

@ -1,5 +1,5 @@
{ pkgs, ... }: {
home.packages = with pkgs; [ ktimer ];
{pkgs, ...}: {
home.packages = with pkgs; [ktimer];
xdg.configFile."ktimerrc".text = ''
[Job0]
Command[$e]=$HOME/bin/timeup

View file

@ -1,36 +1,35 @@
{ pkgs, ... }:
{
{pkgs, ...}: {
programs = {
mpv = {
enable = true;
# package = pkgs.wrapMpv (pkgs.mpv-unwrapped.override { vapoursynthSupport = true; }) { youtubeSupport = true; };
config = {
cache="yes";
cache-on-disk="no";
cache-pause-initial="yes";
cache-pause-wait="5";
cache-secs="3600";
demuxer-cache-wait="no";
demuxer-donate-buffer="yes";
demuxer-max-back-bytes="244141KiB";
demuxer-max-bytes="732422KiB";
demuxer-readahead-secs="60";
demuxer-seekable-cache="auto";
demuxer-thread="yes";
force-seekable="yes";
hls-bitrate="max";
hr-seek-framedrop="no";
hr-seek="yes";
index="default";
save-position-on-quit="yes";
script-opts="ytdl_hook-ytdl_path=/etc/profiles/per-user/don/bin/yt-dlp";
cache = "yes";
cache-on-disk = "no";
cache-pause-initial = "yes";
cache-pause-wait = "5";
cache-secs = "3600";
demuxer-cache-wait = "no";
demuxer-donate-buffer = "yes";
demuxer-max-back-bytes = "244141KiB";
demuxer-max-bytes = "732422KiB";
demuxer-readahead-secs = "60";
demuxer-seekable-cache = "auto";
demuxer-thread = "yes";
force-seekable = "yes";
hls-bitrate = "max";
hr-seek-framedrop = "no";
hr-seek = "yes";
index = "default";
save-position-on-quit = "yes";
script-opts = "ytdl_hook-ytdl_path=/etc/profiles/per-user/don/bin/yt-dlp";
# scripts=[ pkgs.mpvScripts.autoload ];
slang="en";
user-agent="Mozilla/5.0";
video-reversal-buffer="488281KiB";
ytdl="yes";
ytdl-format="bestvideo+bestaudio";
ytdl-raw-options="no-playlist=";
slang = "en";
user-agent = "Mozilla/5.0";
video-reversal-buffer = "488281KiB";
ytdl = "yes";
ytdl-format = "bestvideo+bestaudio";
ytdl-raw-options = "no-playlist=";
};
profiles = {
"protocol.https" = {
@ -41,8 +40,7 @@
};
yt-dlp = {
enable = true;
extraConfig =
''
extraConfig = ''
--no-mtime
'';
settings = {

View file

@ -1,5 +1,4 @@
{ ... }:
{
{...}: {
programs.qutebrowser = {
enable = true;
loadAutoconfig = true;
@ -175,8 +174,7 @@
wikipedia = "https://www.wikipedia.org/";
zoom = "https://zoom.us/";
};
extraConfig =
''
extraConfig = ''
import dracula.draw
dracula.draw.blood(c, {
'spacing': {

View file

@ -1,5 +1,8 @@
{ config, pkgs, ... }:
{
config,
pkgs,
...
}: {
services.redshift = {
enable = true;
latitude = "29.74";

View file

@ -1,5 +1,4 @@
{ ... }:
{
{...}: {
services = {
gnome-keyring = {
enable = true;

View file

@ -1,5 +1,11 @@
{ inputs, pkgs, hostname, outputs, osConfig, ... }:
{
inputs,
pkgs,
hostname,
outputs,
osConfig,
...
}: {
xdg.configFile."sway/config".source = ./files/sway/${osConfig.networking.hostName};
programs = {
@ -130,62 +136,61 @@
};
};
};
style =
''
style = ''
* {
border: none; border-radius: 0;
border: none; border-radius: 0;
font-family: "JetBrains Mono", FontAwesome6Free, SymbolsNerdFont, Roboto, Helvetica, Arial, sans-serif;
font-size: 10px; min-height: 0;
}
window#waybar {
background: rgba(43, 48, 59, 0.5);
background: rgba(43, 48, 59, 0.5);
border-bottom: 3px solid rgba(100, 114, 125, 0.5);
color: #ffffff;
color: #ffffff;
}
window#waybar.hidden { opacity: 0.0; }
#workspaces button {
padding: 0 5px;
background: transparent;
color: #ffffff;
#workspaces button {
padding: 0 5px;
background: transparent;
color: #ffffff;
border-bottom: 3px solid transparent;
}
#workspaces button.focused { background: #64727D; border-bottom: 3px solid #ffffff; }
#workspaces button.urgent { background-color: #eb4d4b; }
#mode { background: #64727D; border-bottom: 3px solid #ffffff; }
#clock, #battery, #cpu, #memory, #temperature, #backlight, #network, #pulseaudio, #custom-mymusic, #tray, #mode, #idle_inhibitor, #bluetooth {
padding: 0 5px;
margin: 0 0px;
}
#clock { background-color: #64727D; color: #f1fa8c; }
#battery { color: #000000; background-color: #50fa7b; }
#battery.warning { color: #000000; background-color: #ff79c6; }
#battery.critical { color: #ffffff; background-color: #ff5555; }
#battery.charging { color: #44475a; background-color: #50fa7b; }
@keyframes blink { to { background-color: #ffffff; color: #000000; } }
#battery.critical:not(.charging) {
background: #f53c3c; color: #ffffff;
}
#workspaces button.focused { background: #64727D; border-bottom: 3px solid #ffffff; }
#workspaces button.urgent { background-color: #eb4d4b; }
#mode { background: #64727D; border-bottom: 3px solid #ffffff; }
#clock, #battery, #cpu, #memory, #temperature, #backlight, #network, #pulseaudio, #custom-mymusic, #tray, #mode, #idle_inhibitor, #bluetooth {
padding: 0 5px;
margin: 0 0px;
}
#clock { background-color: #64727D; color: #f1fa8c; }
#battery { color: #000000; background-color: #50fa7b; }
#battery.warning { color: #000000; background-color: #ff79c6; }
#battery.critical { color: #ffffff; background-color: #ff5555; }
#battery.charging { color: #44475a; background-color: #50fa7b; }
@keyframes blink { to { background-color: #ffffff; color: #000000; } }
#battery.critical:not(.charging) {
background: #f53c3c; color: #ffffff;
animation-name: blink; animation-duration: 0.5s;
animation-timing-function: linear;
animation-iteration-count: infinite;
animation-direction: alternate;
}
#cpu { background: #2ecc71; color: #000000; }
#memory { background: #9b59b6; }
#backlight { color: #000000; background: #90b1b1; }
#bluetooth { background: #ffb86c; color: #000000; }
#network { background: #bd93f9; color: #000000; }
#network.disconnected { background: #ff5555; }
#pulseaudio { background: #ffb86c; color: #000000; }
#pulseaudio.muted { background: #90b1b1; color: #2a5c45; }
#custom-mytimew { background: #bd93f9; color: #000000; }
#custom-mymusic { background: #8be9fd; color: #000000; }
#custom-mycal { background: #cccc99; color: #2a5c45; }
#temperature { background: #f0932b; }
#temperature.critical { background: #eb4d4b; }
#tray { background-color: #64727D; }
#idle_inhibitor { background-color: #2d3436; }
#idle_inhibitor.activated { background-color: #ecf0f1; color: #2d3436; }
'';
};
};
}
#cpu { background: #2ecc71; color: #000000; }
#memory { background: #9b59b6; }
#backlight { color: #000000; background: #90b1b1; }
#bluetooth { background: #ffb86c; color: #000000; }
#network { background: #bd93f9; color: #000000; }
#network.disconnected { background: #ff5555; }
#pulseaudio { background: #ffb86c; color: #000000; }
#pulseaudio.muted { background: #90b1b1; color: #2a5c45; }
#custom-mytimew { background: #bd93f9; color: #000000; }
#custom-mymusic { background: #8be9fd; color: #000000; }
#custom-mycal { background: #cccc99; color: #2a5c45; }
#temperature { background: #f0932b; }
#temperature.critical { background: #eb4d4b; }
#tray { background-color: #64727D; }
#idle_inhibitor { background-color: #2d3436; }
#idle_inhibitor.activated { background-color: #ecf0f1; color: #2d3436; }
'';
};
};
}

View file

@ -1,5 +1,8 @@
{ config, pkgs, ... }:
{
config,
pkgs,
...
}: {
programs.kitty = {
enable = true;
settings = {

View file

@ -1,5 +1,9 @@
{ config, pkgs, inputs, ... }:
{
config,
pkgs,
inputs,
...
}: {
home.packages = with pkgs; [
citrix_workspace
];

View file

@ -1,5 +1,8 @@
{ pkgs, inputs, ... }:
{
pkgs,
inputs,
...
}: {
home-manager.users.don = {
imports = [
./citrix.nix

View file

@ -1,6 +1,9 @@
{ config, pkgs, ... }:
{
home.packages = with pkgs; [ zoom-us ];
config,
pkgs,
...
}: {
home.packages = with pkgs; [zoom-us];
xdg = {
configFile."zoom.conf".source = files/zoom.conf;
configFile."zoomus.conf".source = files/zoomus.conf;
@ -12,8 +15,8 @@
type = "Application";
icon = "Zoom";
comment = "Zoom Video";
mimeType = [ "x-scheme-handler/zoommtg" "x-scheme-handler/zoomus" "x-scheme-handler/tel" "x-scheme-handler/callto" "x-scheme-handler/zoomphonecall" "application/x-zoom" ];
categories = [ "Network" "Application""Application" ];
mimeType = ["x-scheme-handler/zoommtg" "x-scheme-handler/zoomus" "x-scheme-handler/tel" "x-scheme-handler/callto" "x-scheme-handler/zoomphonecall" "application/x-zoom"];
categories = ["Network" "Application" "Application"];
};
};
};

View file

@ -1,8 +1,12 @@
{ inputs, outputs, lib, config, pkgs, ... }:
{
imports =
[
inputs,
outputs,
lib,
config,
pkgs,
...
}: {
imports = [
inputs.stylix.nixosModules.stylix
./hardware-configuration.nix
# ../disko/mmcblk.nix

View file

@ -1,25 +1,29 @@
# Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{
imports =
[ (modulesPath + "/installer/scan/not-detected.nix")
config,
lib,
pkgs,
modulesPath,
...
}: {
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "uas" "sd_mod" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
boot.initrd.availableKernelModules = ["xhci_pci" "ahci" "uas" "sd_mod"];
boot.initrd.kernelModules = [];
boot.kernelModules = ["kvm-intel"];
boot.extraModulePackages = [];
fileSystems."/" =
{ device = "/dev/mmcblk0p2";
fileSystems."/" = {
device = "/dev/mmcblk0p2";
fsType = "ext4";
};
fileSystems."/boot" =
{ device = "/dev/mmcblk0p1";
fileSystems."/boot" = {
device = "/dev/mmcblk0p1";
fsType = "vfat";
};

View file

@ -30,4 +30,3 @@
};
};
}

View file

@ -1,5 +1,11 @@
{ inputs, outputs, lib, config, pkgs, ... }:
{
inputs,
outputs,
lib,
config,
pkgs,
...
}: {
disko.devices = {
disk = {
vdb = {
@ -31,4 +37,3 @@
};
};
}

View file

@ -30,4 +30,3 @@
};
};
}

View file

@ -1,8 +1,12 @@
{ inputs, outputs, lib, config, pkgs, ... }:
{
imports =
[
inputs,
outputs,
lib,
config,
pkgs,
...
}: {
imports = [
inputs.stylix.nixosModules.stylix
inputs.nixos-hardware.nixosModules.raspberry-pi-4
./hardware-configuration.nix

View file

@ -1,8 +1,10 @@
{ inputs, config, pkgs, ... }:
{
imports =
[
inputs,
config,
pkgs,
...
}: {
imports = [
inputs.stylix.nixosModules.stylix
./hardware-configuration.nix
inputs.nixos-hardware.nixosModules.common-cpu-intel

View file

@ -1,30 +1,34 @@
# Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{
imports =
[ (modulesPath + "/installer/scan/not-detected.nix")
config,
lib,
pkgs,
modulesPath,
...
}: {
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [ "xhci_pci" "ehci_pci" "ahci" "sd_mod" "rtsx_pci_sdmmc" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
boot.initrd.availableKernelModules = ["xhci_pci" "ehci_pci" "ahci" "sd_mod" "rtsx_pci_sdmmc"];
boot.initrd.kernelModules = [];
boot.kernelModules = ["kvm-intel"];
boot.extraModulePackages = [];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/8f55014e-8c1b-475d-8fe6-501977358d97";
fileSystems."/" = {
device = "/dev/disk/by-uuid/8f55014e-8c1b-475d-8fe6-501977358d97";
fsType = "ext4";
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/E6F0-40A0";
fileSystems."/boot" = {
device = "/dev/disk/by-uuid/E6F0-40A0";
fsType = "vfat";
};
swapDevices =
[ { device = "/dev/disk/by-uuid/843421e5-cb74-4c43-b88d-5053e7f7dec4"; }
swapDevices = [
{device = "/dev/disk/by-uuid/843421e5-cb74-4c43-b88d-5053e7f7dec4";}
];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking

View file

@ -1,8 +1,12 @@
{ inputs, outputs, lib, config, pkgs, ... }:
{
imports =
[
inputs,
outputs,
lib,
config,
pkgs,
...
}: {
imports = [
inputs.nixos-hardware.nixosModules.google-pixelbook
inputs.stylix.nixosModules.stylix
./hardware-configuration.nix

View file

@ -1,25 +1,29 @@
# Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{
imports =
[ (modulesPath + "/installer/scan/not-detected.nix")
config,
lib,
pkgs,
modulesPath,
...
}: {
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [ "xhci_pci" "usb_storage" "usbhid" "sd_mod" "sdhci_pci" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
boot.initrd.availableKernelModules = ["xhci_pci" "usb_storage" "usbhid" "sd_mod" "sdhci_pci"];
boot.initrd.kernelModules = [];
boot.kernelModules = ["kvm-intel"];
boot.extraModulePackages = [];
fileSystems."/" =
{ device = "/dev/mmcblk0p2";
fileSystems."/" = {
device = "/dev/mmcblk0p2";
fsType = "ext4";
};
fileSystems."/boot" =
{ device = "/dev/mmcblk0p1";
fileSystems."/boot" = {
device = "/dev/mmcblk0p1";
fsType = "vfat";
};

View file

@ -1,5 +1,9 @@
{ config, pkgs, lib, ... }:
{
config,
pkgs,
lib,
...
}: {
boot.kernelPatches = lib.singleton {
name = "eve-config";
patch = null;

View file

@ -1,8 +1,12 @@
{ inputs, outputs, lib, config, pkgs, ... }:
{
imports =
[
inputs,
outputs,
lib,
config,
pkgs,
...
}: {
imports = [
inputs.stylix.nixosModules.stylix
./hardware-configuration.nix
../server

View file

@ -37,4 +37,3 @@
};
};
}

View file

@ -1,29 +1,33 @@
# Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{
imports =
[ (modulesPath + "/installer/scan/not-detected.nix")
config,
lib,
pkgs,
modulesPath,
...
}: {
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [ "xhci_pci" "ehci_pci" "ahci" "usbhid" "ums_realtek" "sd_mod" "sr_mod" ];
boot.initrd.kernelModules = [ "dm-snapshot" ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
boot.initrd.availableKernelModules = ["xhci_pci" "ehci_pci" "ahci" "usbhid" "ums_realtek" "sd_mod" "sr_mod"];
boot.initrd.kernelModules = ["dm-snapshot"];
boot.kernelModules = ["kvm-intel"];
boot.extraModulePackages = [];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/4a1d2915-6964-4479-98c6-d17e333e83e9";
fileSystems."/" = {
device = "/dev/disk/by-uuid/4a1d2915-6964-4479-98c6-d17e333e83e9";
fsType = "ext4";
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/FAE7-A0C7";
fileSystems."/boot" = {
device = "/dev/disk/by-uuid/FAE7-A0C7";
fsType = "vfat";
};
swapDevices = [ ];
swapDevices = [];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's

View file

@ -1,7 +1,9 @@
# Auto-generated using compose2nix v0.1.6.
{ pkgs, lib, ... }:
{
pkgs,
lib,
...
}: {
# Runtime
virtualisation.podman = {
enable = true;
@ -106,7 +108,7 @@
"/dev/net/tun:/dev/net/tun:rw"
"/home/don/docker/tailscale/var_lib:/var/lib:rw"
];
cmd = [ "tailscaled" ];
cmd = ["tailscaled"];
log-driver = "journald";
extraOptions = [
"--cap-add=net_admin"
@ -136,7 +138,7 @@
# Networks
systemd.services."podman-network-tstest-default" = {
path = [ pkgs.podman ];
path = [pkgs.podman];
serviceConfig = {
Type = "oneshot";
RemainAfterExit = true;
@ -145,8 +147,8 @@
script = ''
podman network inspect tstest-default || podman network create tstest-default --opt isolate=true
'';
partOf = [ "podman-compose-tstest-root.target" ];
wantedBy = [ "podman-compose-tstest-root.target" ];
partOf = ["podman-compose-tstest-root.target"];
wantedBy = ["podman-compose-tstest-root.target"];
};
# Root service
@ -156,6 +158,6 @@
unitConfig = {
Description = "Root target generated by compose2nix.";
};
wantedBy = [ "multi-user.target" ];
wantedBy = ["multi-user.target"];
};
}

View file

@ -1,8 +1,12 @@
{ inputs, outputs, lib, config, pkgs, ... }:
{
imports =
[
inputs,
outputs,
lib,
config,
pkgs,
...
}: {
imports = [
inputs.stylix.nixosModules.stylix
./hardware-configuration.nix
../../server

View file

@ -1,8 +1,12 @@
{ inputs, outputs, lib, config, pkgs, ... }:
{
imports =
[
inputs,
outputs,
lib,
config,
pkgs,
...
}: {
imports = [
inputs.stylix.nixosModules.stylix
./hardware-configuration.nix
../../server

View file

@ -1,8 +1,12 @@
{ inputs, outputs, lib, config, pkgs, ... }:
{
imports =
[
inputs,
outputs,
lib,
config,
pkgs,
...
}: {
imports = [
inputs.nixos-hardware.nixosModules.dell-xps-13-9310
inputs.stylix.nixosModules.stylix
./hardware-configuration.nix

View file

@ -1,31 +1,35 @@
# Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{
imports =
[ (modulesPath + "/installer/scan/not-detected.nix")
config,
lib,
pkgs,
modulesPath,
...
}: {
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [ "xhci_pci" "thunderbolt" "nvme" "uas" "sd_mod" "rtsx_pci_sdmmc" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
boot.initrd.availableKernelModules = ["xhci_pci" "thunderbolt" "nvme" "uas" "sd_mod" "rtsx_pci_sdmmc"];
boot.initrd.kernelModules = [];
boot.kernelModules = ["kvm-intel"];
boot.extraModulePackages = [];
fileSystems."/" =
{ device = "/dev/nvme0n1p2";
fileSystems."/" = {
device = "/dev/nvme0n1p2";
fsType = "ext4";
};
fileSystems."/boot" =
{ device = "/dev/nvme0n1p1";
fileSystems."/boot" = {
device = "/dev/nvme0n1p1";
fsType = "vfat";
};
# swapDevices =
# [ { device = "/dev/disk/by-uuid/cc3e6f81-e0c6-41f7-a02e-49dcaf8b795a"; }
# ];
# swapDevices =
# [ { device = "/dev/disk/by-uuid/cc3e6f81-e0c6-41f7-a02e-49dcaf8b795a"; }
# ];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's

View file

@ -1,5 +1,7 @@
{ config, pkgs, ... }:
{
boot.kernelModules = [ "axge" "ax88179_178a" ];
config,
pkgs,
...
}: {
boot.kernelModules = ["axge" "ax88179_178a"];
}

View file

@ -1,8 +1,12 @@
{ inputs, outputs, lib, config, pkgs, ... }:
{
imports =
[
inputs,
outputs,
lib,
config,
pkgs,
...
}: {
imports = [
inputs.stylix.nixosModules.stylix
./hardware-configuration.nix
../../server

View file

@ -1,8 +1,12 @@
{ inputs, outputs, lib, config, pkgs, ... }:
{
imports =
[
inputs,
outputs,
lib,
config,
pkgs,
...
}: {
imports = [
inputs.stylix.nixosModules.stylix
./hardware-configuration.nix
../../server

View file

@ -1,8 +1,10 @@
{ inputs, config, pkgs, ... }:
{
imports =
[
inputs,
config,
pkgs,
...
}: {
imports = [
inputs.stylix.nixosModules.stylix
./hardware-configuration.nix
inputs.nixos-hardware.nixosModules.common-cpu-intel

View file

@ -1,25 +1,29 @@
# Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{
imports =
[ (modulesPath + "/installer/scan/not-detected.nix")
config,
lib,
pkgs,
modulesPath,
...
}: {
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [ "xhci_pci" "usb_storage" "usbhid" "sd_mod" "sdhci_pci" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
boot.initrd.availableKernelModules = ["xhci_pci" "usb_storage" "usbhid" "sd_mod" "sdhci_pci"];
boot.initrd.kernelModules = [];
boot.kernelModules = ["kvm-intel"];
boot.extraModulePackages = [];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/90189466-8309-4b46-befe-cf476b8a7dd7";
fileSystems."/" = {
device = "/dev/disk/by-uuid/90189466-8309-4b46-befe-cf476b8a7dd7";
fsType = "ext4";
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/A327-E803";
fileSystems."/boot" = {
device = "/dev/disk/by-uuid/A327-E803";
fsType = "vfat";
};

View file

@ -1,7 +1,13 @@
{ inputs, outputs, lib, config, pkgs, ... }:
let
my-python-packages = python-packages: with python-packages; [
{
inputs,
outputs,
lib,
config,
pkgs,
...
}: let
my-python-packages = python-packages:
with python-packages; [
pip
# pipx
python-dateutil
@ -9,14 +15,13 @@ let
requests
];
python-with-my-packages = pkgs.python3Full.withPackages my-python-packages;
in
{
in {
nix = {
settings = {
experimental-features = [ "nix-command" "flakes" ];
experimental-features = ["nix-command" "flakes"];
warn-dirty = false;
auto-optimise-store = true;
trusted-users = [ "root" "don" ];
trusted-users = ["root" "don"];
};
gc = {
automatic = true;
@ -24,8 +29,7 @@ in
options = "--delete-older-than 7d";
};
};
imports =
[
imports = [
../../home
./systemd.nix
./tailscale.nix
@ -43,7 +47,6 @@ in
hardwareClockInLocalTime = false;
};
# Select internationalisation properties.
i18n.defaultLocale = "en_US.utf8";
i18n.inputMethod = {
@ -57,7 +60,7 @@ in
# Bootloader.
boot = {
kernelPackages = pkgs.linuxPackages_latest;
kernelParams = [ "consoleblank=60" ];
kernelParams = ["consoleblank=60"];
loader = {
systemd-boot = {
enable = true;
@ -71,7 +74,7 @@ in
enable = true;
};
kernel = {
sysctl = { "vm.swappiness" = 10;};
sysctl = {"vm.swappiness" = 10;};
};
};
@ -82,11 +85,13 @@ in
sudo.enable = false;
doas = {
enable = true;
extraRules = [{
users = [ "don" ];
extraRules = [
{
users = ["don"];
keepEnv = true;
noPass = true;
}];
}
];
};
};
@ -132,7 +137,7 @@ in
isNormalUser = true;
initialPassword = "changeme";
description = "Don Harper";
extraGroups = [ "networkmanager" "wheel" "scanner" "lp" "video" "mlocate" "disk" ];
extraGroups = ["networkmanager" "wheel" "scanner" "lp" "video" "mlocate" "disk"];
openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINd8AdVbQQ/Fmw+b9mI8EMYqIoRkwmSwAOtmlte3incL don@loki"
];
@ -185,35 +190,53 @@ in
};
};
nixpkgs.overlays = [
(final: super:{ khal = super.khal.overridePythonAttrs (_: { doCheck = false; }); })
(final: super: {khal = super.khal.overridePythonAttrs (_: {doCheck = false;});})
];
# Open ports in the firewall.
networking.firewall = {
enable = true;
# always allow traffic from your Tailscale network
trustedInterfaces = [ "tailscale0" ];
trustedInterfaces = ["tailscale0"];
checkReversePath = "loose";
# allow the Tailscale UDP port through the firewall
allowedUDPPorts = [ config.services.tailscale.port ];
allowedTCPPortRanges = [ { from = 1714 ; to = 1764; } ];
allowedUDPPortRanges = [ { from = 1714 ; to = 1764; } ];
allowedUDPPorts = [config.services.tailscale.port];
allowedTCPPortRanges = [
{
from = 1714;
to = 1764;
}
];
allowedUDPPortRanges = [
{
from = 1714;
to = 1764;
}
];
# allow you to SSH in over the public internet
allowedTCPPorts = [ 22 ];
allowedTCPPorts = [22];
interfaces = {
"tailscale0" = {
allowedTCPPorts = [ 22 8080 8443 ];
allowedTCPPortRanges = [ { from = 1714 ; to = 1764; } ];
allowedUDPPortRanges = [ { from = 1714 ; to = 1764; } ];
allowedTCPPorts = [22 8080 8443];
allowedTCPPortRanges = [
{
from = 1714;
to = 1764;
}
];
allowedUDPPortRanges = [
{
from = 1714;
to = 1764;
}
];
};
};
};
# This value determines the NixOS release from which the default
# settings for stateful data, like file locations and database versions
# on your system were taken. It's perfectly fine and recommended to leavecatenate(variables, "bootdev", bootdev)

View file

@ -1,6 +1,4 @@
{ pkgs, ... }:
let
{pkgs, ...}: let
readlink = "${pkgs.coreutils}/bin/readlink";
notify-send = "${pkgs.libnotify}/bin/notify-send";
in {
@ -8,7 +6,7 @@ in {
services = {
clean-keychain = {
description = "Clean up .keychain on boot";
wantedBy = [ "multi-user.target" ];
wantedBy = ["multi-user.target"];
serviceConfig = {
Type = "oneshot";
ExecStart = "${pkgs.coreutils-full}/bin/rm -rf /home/don/.keychain";
@ -35,8 +33,8 @@ in {
};
timers = {
detect-reboot-for-upgrade = {
wantedBy = [ "timers.target" ];
partOf = [ "detect-reboot-for-upgrade.service" ];
wantedBy = ["timers.target"];
partOf = ["detect-reboot-for-upgrade.service"];
timerConfig = {
OnCalendar = "hourly";
Unit = "detect-reboot-for-upgrade.service";

Binary file not shown.

View file

@ -1,4 +1,4 @@
{ pkgs, ... }: {
{pkgs, ...}: {
system.activationScripts.diff = {
supportsDryActivation = true;
text = ''

View file

@ -1,8 +1,12 @@
{ inputs, outputs, lib, config, pkgs, ... }:
{
imports =
[
inputs,
outputs,
lib,
config,
pkgs,
...
}: {
imports = [
inputs.nixos-hardware.nixosModules.lenovo-thinkpad-x260
inputs.stylix.nixosModules.stylix
./hardware-configuration.nix

View file

@ -1,26 +1,29 @@
# Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{
imports =
[ (modulesPath + "/installer/scan/not-detected.nix")
config,
lib,
pkgs,
modulesPath,
...
}: {
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "uas" "sd_mod" "rtsx_pci_sdmmc" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
boot.initrd.availableKernelModules = ["xhci_pci" "ahci" "uas" "sd_mod" "rtsx_pci_sdmmc"];
boot.initrd.kernelModules = [];
boot.kernelModules = ["kvm-intel"];
boot.extraModulePackages = [];
fileSystems."/" =
{ device = "/dev/sda2";
fileSystems."/" = {
device = "/dev/sda2";
fsType = "ext4";
};
fileSystems."/boot" =
{ device = "/dev/sda1";
fileSystems."/boot" = {
device = "/dev/sda1";
fsType = "vfat";
};

View file

@ -1,7 +1,9 @@
# Auto-generated using compose2nix v0.1.6.
{ pkgs, lib, ... }:
{
pkgs,
lib,
...
}: {
# Runtime
virtualisation.podman = {
enable = true;
@ -100,7 +102,7 @@
# Networks
systemd.services."podman-network-speedtest-default" = {
path = [ pkgs.podman ];
path = [pkgs.podman];
serviceConfig = {
Type = "oneshot";
RemainAfterExit = true;
@ -109,8 +111,8 @@
script = ''
podman network inspect speedtest-default || podman network create speedtest-default --opt isolate=true
'';
partOf = [ "podman-compose-speedtest-root.target" ];
wantedBy = [ "podman-compose-speedtest-root.target" ];
partOf = ["podman-compose-speedtest-root.target"];
wantedBy = ["podman-compose-speedtest-root.target"];
};
# Root service
@ -120,6 +122,6 @@
unitConfig = {
Description = "Root target generated by compose2nix.";
};
wantedBy = [ "multi-user.target" ];
wantedBy = ["multi-user.target"];
};
}

View file

@ -1,8 +1,12 @@
{ inputs, outputs, lib, config, pkgs, ... }:
{
imports =
[
inputs,
outputs,
lib,
config,
pkgs,
...
}: {
imports = [
inputs.stylix.nixosModules.stylix
./hardware-configuration.nix
../workstation

View file

@ -1,24 +1,28 @@
# Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{
imports =
[ (modulesPath + "/installer/scan/not-detected.nix")
config,
lib,
pkgs,
modulesPath,
...
}: {
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [ ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ ];
boot.extraModulePackages = [ ];
boot.initrd.availableKernelModules = [];
boot.initrd.kernelModules = [];
boot.kernelModules = [];
boot.extraModulePackages = [];
fileSystems."/" =
{ device = "/dev/mmcblk0p2";
fileSystems."/" = {
device = "/dev/mmcblk0p2";
fsType = "ext4";
};
swapDevices = [ ];
swapDevices = [];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's

View file

@ -1,6 +1,11 @@
{ inputs, outputs, lib, config, pkgs, ... }:
{
inputs,
outputs,
lib,
config,
pkgs,
...
}: {
stylix = {
base16Scheme = "${pkgs.base16-schemes}/share/themes/dracula.yaml";
image = ./feed-me.png;

View file

@ -1,8 +1,12 @@
{ inputs, outputs, lib, config, pkgs, ... }:
{
imports =
[
inputs,
outputs,
lib,
config,
pkgs,
...
}: {
imports = [
./hardware-configuration.nix
../server
../themes.nix

View file

@ -1,30 +1,34 @@
# Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{
imports =
[ (modulesPath + "/profiles/qemu-guest.nix")
config,
lib,
pkgs,
modulesPath,
...
}: {
imports = [
(modulesPath + "/profiles/qemu-guest.nix")
];
boot.initrd.availableKernelModules = [ "ahci" "xhci_pci" "virtio_pci" "sr_mod" "virtio_blk" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
boot.initrd.availableKernelModules = ["ahci" "xhci_pci" "virtio_pci" "sr_mod" "virtio_blk"];
boot.initrd.kernelModules = [];
boot.kernelModules = ["kvm-intel"];
boot.extraModulePackages = [];
fileSystems."/" =
{ device = "/dev/vda3";
fileSystems."/" = {
device = "/dev/vda3";
fsType = "ext4";
};
fileSystems."/boot" =
{ device = "/dev/vda1";
fileSystems."/boot" = {
device = "/dev/vda1";
fsType = "vfat";
};
swapDevices =
[ { device = "/dev/vda2"; }
swapDevices = [
{device = "/dev/vda2";}
];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking

View file

@ -1,8 +1,12 @@
{ inputs, outputs, lib, config, pkgs, ... }:
{
imports =
[
inputs,
outputs,
lib,
config,
pkgs,
...
}: {
imports = [
./hardware-configuration.nix
../themes.nix
];

View file

@ -1,30 +1,34 @@
# Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{
imports =
[ (modulesPath + "/profiles/qemu-guest.nix")
config,
lib,
pkgs,
modulesPath,
...
}: {
imports = [
(modulesPath + "/profiles/qemu-guest.nix")
];
boot.initrd.availableKernelModules = [ "ahci" "xhci_pci" "virtio_pci" "sr_mod" "virtio_blk" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
boot.initrd.availableKernelModules = ["ahci" "xhci_pci" "virtio_pci" "sr_mod" "virtio_blk"];
boot.initrd.kernelModules = [];
boot.kernelModules = ["kvm-intel"];
boot.extraModulePackages = [];
fileSystems."/" =
{ device = "/dev/vda3";
fileSystems."/" = {
device = "/dev/vda3";
fsType = "ext4";
};
fileSystems."/boot" =
{ device = "/dev/vda1";
fileSystems."/boot" = {
device = "/dev/vda1";
fsType = "vfat";
};
swapDevices =
[ { device = "/dev/vda2"; }
swapDevices = [
{device = "/dev/vda2";}
];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking

View file

@ -1,4 +1,3 @@
{ pkgs, ... }:
{
imports = [ ./sway ];
}
{pkgs, ...}: {
imports = [./sway];
}

View file

@ -1,6 +1,9 @@
{ config, pkgs, lib, ... }:
{
config,
pkgs,
lib,
...
}: {
environment.systemPackages = with pkgs; [
alacritty
bemenu
@ -22,7 +25,6 @@
wl-clipboard
];
services.pipewire = {
enable = true;
alsa.enable = true;
@ -32,5 +34,4 @@
services.enable = true;
services.displayManager.sddm.enable = true;
services.desktopManager.plasma6.enable = true;
}

View file

@ -1,6 +1,5 @@
{ pkgs, ... }:
{
environment.systemPackages = with pkgs; [ sddm-chili-theme ];
{pkgs, ...}: {
environment.systemPackages = with pkgs; [sddm-chili-theme];
services.displayManager = {
sddm = {

View file

@ -1,5 +1,4 @@
{ pkgs, ... }:
let
{pkgs, ...}: let
dbus-sway-environment = pkgs.writeTextFile {
name = "dbus-sway-environment";
destination = "/bin/dbus-sway-environment";
@ -23,8 +22,7 @@ let
gsettings set $gnome_schema gtk-theme 'Dracula'
'';
};
in
{
in {
environment.systemPackages = with pkgs; [
alacritty
bemenu
@ -53,4 +51,4 @@ in
};
};
services.greetd.package = "greetd.wlgreet";
}
}

View file

@ -1,7 +1,13 @@
{ inputs, outputs, lib, config, pkgs, ... }:
let
my-python-packages = python-packages: with python-packages; [
{
inputs,
outputs,
lib,
config,
pkgs,
...
}: let
my-python-packages = python-packages:
with python-packages; [
pip
# pipx
python-dateutil
@ -9,14 +15,13 @@ let
requests
];
python-with-my-packages = pkgs.python3Full.withPackages my-python-packages;
in
{
in {
nix = {
settings = {
experimental-features = [ "nix-command" "flakes" ];
experimental-features = ["nix-command" "flakes"];
warn-dirty = false;
auto-optimise-store = true;
trusted-users = [ "root" "don" ];
trusted-users = ["root" "don"];
};
gc = {
automatic = true;
@ -24,8 +29,7 @@ in
options = "--delete-older-than 7d";
};
};
imports =
[
imports = [
../../home
../../home/gui
./detect-reboot-needed.nix
@ -46,7 +50,6 @@ in
hardwareClockInLocalTime = false;
};
# Select internationalisation properties.
i18n.defaultLocale = "en_US.utf8";
i18n.inputMethod = {
@ -60,9 +63,10 @@ in
# Bootloader.
boot = {
kernelPackages = pkgs.linuxPackages_latest;
kernelParams = [ "consoleblank=60" ];
loader = if (pkgs.hostPlatform != lib.mkDefault "aarch64-linux") then
{
kernelParams = ["consoleblank=60"];
loader =
if (pkgs.hostPlatform != lib.mkDefault "aarch64-linux")
then {
systemd-boot = {
enable = true;
};
@ -71,8 +75,7 @@ in
efiSysMountPoint = "/boot";
};
}
else
{
else {
grub.enable = false;
generic-extlinux-compatible.enable = true;
};
@ -80,7 +83,7 @@ in
enable = true;
};
kernel = {
sysctl = { "vm.swappiness" = 10;};
sysctl = {"vm.swappiness" = 10;};
};
};
@ -91,11 +94,13 @@ in
sudo.enable = false;
doas = {
enable = true;
extraRules = [{
users = [ "don" ];
extraRules = [
{
users = ["don"];
keepEnv = true;
noPass = true;
}];
}
];
};
};
@ -173,7 +178,7 @@ in
};
sane = {
enable = true;
extraBackends = [ pkgs.sane-airscan ];
extraBackends = [pkgs.sane-airscan];
};
};
security.rtkit.enable = true;
@ -191,7 +196,7 @@ in
isNormalUser = true;
initialPassword = "changeme";
description = "Don Harper";
extraGroups = [ "networkmanager" "wheel" "scanner" "lp" "video" "mlocate" "disk" ];
extraGroups = ["networkmanager" "wheel" "scanner" "lp" "video" "mlocate" "disk"];
openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINd8AdVbQQ/Fmw+b9mI8EMYqIoRkwmSwAOtmlte3incL don@loki"
];
@ -205,7 +210,7 @@ in
# Allow unfree packages
nixpkgs.config.allowUnfree = true;
nixpkgs.config.permittedInsecurePackages = [ "electron-25.9.0" ];
nixpkgs.config.permittedInsecurePackages = ["electron-25.9.0"];
environment.systemPackages = with pkgs; [
#(callPackage ../mypackages/kanshi-fix/default.nix {})
@ -267,36 +272,54 @@ in
};
};
nixpkgs.overlays = [
(final: prev: { qutebrowser = prev.qutebrowser.override { enableWideVine = true; }; })
(final: super:{ khal = super.khal.overridePythonAttrs (_: { doCheck = false; }); })
(final: prev: {qutebrowser = prev.qutebrowser.override {enableWideVine = true;};})
(final: super: {khal = super.khal.overridePythonAttrs (_: {doCheck = false;});})
];
# Open ports in the firewall.
networking.firewall = {
enable = true;
# always allow traffic from your Tailscale network
trustedInterfaces = [ "tailscale0" ];
trustedInterfaces = ["tailscale0"];
checkReversePath = "loose";
# allow the Tailscale UDP port through the firewall
allowedUDPPorts = [ config.services.tailscale.port ];
allowedTCPPortRanges = [ { from = 1714 ; to = 1764; } ];
allowedUDPPortRanges = [ { from = 1714 ; to = 1764; } ];
allowedUDPPorts = [config.services.tailscale.port];
allowedTCPPortRanges = [
{
from = 1714;
to = 1764;
}
];
allowedUDPPortRanges = [
{
from = 1714;
to = 1764;
}
];
# allow you to SSH in over the public internet
allowedTCPPorts = [ 22 ];
allowedTCPPorts = [22];
interfaces = {
"tailscale0" = {
allowedTCPPorts = [ 22 8080 8443 ];
allowedTCPPortRanges = [ { from = 1714 ; to = 1764; } ];
allowedUDPPortRanges = [ { from = 1714 ; to = 1764; } ];
allowedTCPPorts = [22 8080 8443];
allowedTCPPortRanges = [
{
from = 1714;
to = 1764;
}
];
allowedUDPPortRanges = [
{
from = 1714;
to = 1764;
}
];
};
};
};
# This value determines the NixOS release from which the default
# settings for stateful data, like file locations and database versions
# on your system were taken. It's perfectly fine and recommended to leavecatenate(variables, "bootdev", bootdev)

View file

@ -1,6 +1,4 @@
{ pkgs, ... }:
let
{pkgs, ...}: let
readlink = "${pkgs.coreutils}/bin/readlink";
notify-send = "${pkgs.libnotify}/bin/notify-send";
in {
@ -20,8 +18,8 @@ in {
};
};
systemd.user.timers.detect-reboot-for-upgrade = {
wantedBy = [ "timers.target" ];
partOf = [ "detect-reboot-for-upgrade.service" ];
wantedBy = ["timers.target"];
partOf = ["detect-reboot-for-upgrade.service"];
timerConfig = {
OnCalendar = "hourly";
Unit = "detect-reboot-for-upgrade.service";

View file

@ -1,6 +1,11 @@
{ inputs, outputs, lib, config, pkgs, ... }:
{
inputs,
outputs,
lib,
config,
pkgs,
...
}: {
programs = {
# GAMES!
steam = {

View file

@ -1,5 +1,8 @@
{ pkgs, inputs, ... }:
{
pkgs,
inputs,
...
}: {
virtualisation.libvirtd.enable = true;
environment.systemPackages = with pkgs; [ gnome.gnome-boxes ];
environment.systemPackages = with pkgs; [gnome.gnome-boxes];
}

View file

@ -1,6 +1,8 @@
{ pkgs, lib, ... }:
let
{
pkgs,
lib,
...
}: let
readlink = "${pkgs.coreutils}/bin/readlink";
notify-send = "${pkgs.libnotify}/bin/notify-send";
in {
@ -10,7 +12,7 @@ in {
systemd-networkd-wait-online.enable = lib.mkForce false;
clean-keychain = {
description = "Clean up .keychain on boot";
wantedBy = [ "multi-user.target" ];
wantedBy = ["multi-user.target"];
serviceConfig = {
Type = "oneshot";
ExecStart = "${pkgs.coreutils-full}/bin/rm -rf /home/don/.keychain";
@ -37,8 +39,8 @@ in {
};
timers = {
detect-reboot-for-upgrade = {
wantedBy = [ "timers.target" ];
partOf = [ "detect-reboot-for-upgrade.service" ];
wantedBy = ["timers.target"];
partOf = ["detect-reboot-for-upgrade.service"];
timerConfig = {
OnCalendar = "hourly";
Unit = "detect-reboot-for-upgrade.service";

Binary file not shown.

View file

@ -1,4 +1,4 @@
{ pkgs, ... }: {
{pkgs, ...}: {
system.activationScripts.diff = {
supportsDryActivation = true;
text = ''

View file

@ -1,8 +1,12 @@
{ inputs, outputs, lib, config, pkgs, ... }:
{
imports =
[
inputs,
outputs,
lib,
config,
pkgs,
...
}: {
imports = [
inputs.stylix.nixosModules.stylix
./hardware-configuration.nix
../../server

View file

@ -1,29 +1,33 @@
# Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{
imports =
[ (modulesPath + "/installer/scan/not-detected.nix")
config,
lib,
pkgs,
modulesPath,
...
}: {
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [ "xhci_pci" "ehci_pci" "ahci" "usbhid" "ums_realtek" "sd_mod" "sr_mod" ];
boot.initrd.kernelModules = [ "dm-snapshot" ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
boot.initrd.availableKernelModules = ["xhci_pci" "ehci_pci" "ahci" "usbhid" "ums_realtek" "sd_mod" "sr_mod"];
boot.initrd.kernelModules = ["dm-snapshot"];
boot.kernelModules = ["kvm-intel"];
boot.extraModulePackages = [];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/4a1d2915-6964-4479-98c6-d17e333e83e9";
fileSystems."/" = {
device = "/dev/disk/by-uuid/4a1d2915-6964-4479-98c6-d17e333e83e9";
fsType = "ext4";
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/FAE7-A0C7";
fileSystems."/boot" = {
device = "/dev/disk/by-uuid/FAE7-A0C7";
fsType = "vfat";
};
swapDevices = [ ];
swapDevices = [];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's

View file

@ -1,7 +1,10 @@
# This module defines a small NixOS installation CD. It does not
# contain any graphical stuff.
{ config, pkgs, ... }:
{
config,
pkgs,
...
}: {
imports = [
<nixpkgs/nixos/modules/installer/cd-dvd/installation-cd-minimal.nix>

View file

@ -1,2 +1,2 @@
{ pkgs ? import <nixpkgs> {} }:
{pkgs ? import <nixpkgs> {}}:
pkgs.callPackage ./derivation.nix {}

View file

@ -1,12 +1,12 @@
{ stdenv }:
{stdenv}:
stdenv.mkDerivation rec {
name = "kanshi-fix-${version}";
version = "1.4";
src = ./.;
nativeBuildInputs = [ ];
buildInputs = [ ];
nativeBuildInputs = [];
buildInputs = [];
dontConfigure = true;
buildPhase = ''