Compare commits

...

14 Commits

12 changed files with 211 additions and 111 deletions

View File

@ -197,7 +197,10 @@
plugins = [ pkgs.ccid ]; # Needed for GPG + Yubikey
};
virtualisation.docker.enable = true;
virtualisation.docker = {
enable = true;
autoPrune.enable = true;
};
virtualisation.libvirtd.enable = true;
virtualisation.spiceUSBRedirection.enable = true;
users.groups.libvirtd.members = [ "jez" ];

View File

@ -8,11 +8,11 @@
]
},
"locked": {
"lastModified": 1657103562,
"narHash": "sha256-lSMA2B40tJxdRdAPftDxI9h+vBaS6mjlROz5nv3Ep3s=",
"lastModified": 1658776433,
"narHash": "sha256-QEPVVPoJ4O9sH/Z9Ofxmbv5YVXHCC2hw9Yx54YaGHKI=",
"owner": "nix-community",
"repo": "emacs-overlay",
"rev": "88bfbe0c218e095f0d9e9aaa2ba18dc0df410244",
"rev": "e6787f627285bf1963ad582c7d635c97efea524d",
"type": "github"
},
"original": {
@ -44,11 +44,11 @@
"utils": "utils"
},
"locked": {
"lastModified": 1656927578,
"narHash": "sha256-ZSFrM/1PlJOqCb3mN88ZUh9dkQvNLU/nkoQ2tu02/FM=",
"lastModified": 1658751516,
"narHash": "sha256-Y/3dHoTjbvYBtWd+TTBQJUIgDPO9d+Gqt05C5dyR7E4=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "f2445620d177e295e711c1b2bc6c01ed6df26c16",
"rev": "dbed4c794d20d51027fc1107f063ec5be027dafc",
"type": "github"
},
"original": {
@ -59,11 +59,11 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1657020478,
"narHash": "sha256-sU5hXEGcOcvz2xoPAuNLBQJLXjwvPpTkoddyXE8gw20=",
"lastModified": 1658737577,
"narHash": "sha256-xosJ5nJT9HX+b6UWsSX6R+ap4AdZOCrl/r+IKFp2ASQ=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "71a4f0dc3d80ba76f437c888c1c3d59f1df98163",
"rev": "5a0e0d73b944157328d54c4ded1cf2f0146a86a5",
"type": "github"
},
"original": {
@ -74,11 +74,11 @@
},
"nur": {
"locked": {
"lastModified": 1657106528,
"narHash": "sha256-Jm2XUK8PSdiWfzfF6f/lIfnaOCrcq+JsT/cV5P5c1Uw=",
"lastModified": 1658766050,
"narHash": "sha256-c6iyt3h3crC7NPf6YTD4G+Y3HEwVjuZYOSaMSzMqVXM=",
"owner": "nix-community",
"repo": "NUR",
"rev": "71d760099ad1a16ebae22b4ec551bf54a9e93d8e",
"rev": "2599e014153184576a261f3d6634fed4285797c9",
"type": "github"
},
"original": {

View File

@ -0,0 +1,40 @@
{ config, lib, pkgs, ... }:
{
programs.wal = {
enable = true;
background = pkgs.fetchurl {
# From Stefanie Buchanan's ArtStation: https://www.artstation.com/artwork/bK0kkn
urls = [
"https://cdnb.artstation.com/p/assets/images/images/029/712/149/large/stefanie-buchanan-img-2414.jpg"
"http://bafybeiff7bjww2dicbqhfubiq67wma6qrjkkndk6s773glwiystzir2goe.ipfs.localhost:8080/"
"https://bafybeiff7bjww2dicbqhfubiq67wma6qrjkkndk6s773glwiystzir2goe.ipfs.dweb.link/"
];
name = "wallpaper.jpg";
sha256 =
"b6b9b88e10715e9e7dfd33dc80ecfff90fa58f0529e6f7c88f67f34991da57e0";
};
shell.enable = false;
sway.enable = true;
};
gtk = {
enable = true;
theme.name = "Equilux";
theme.package = pkgs.equilux-theme;
font.name = "Fira Sans Condensed Regular 10";
font.package = pkgs.fira;
iconTheme.name = "Flat-Remix-Green-Dark";
iconTheme.package = pkgs.flat-remix-icon-theme;
gtk3.extraConfig = {
gtk-xft-antialias = 1;
gtk-xft-hinting = 1;
gtk-xft-hintstyle = "hintmedium";
gtk-xft-rgba = "rgb";
gtk-enable-animations = false;
};
};
}

View File

@ -3,6 +3,8 @@
with lib;
{
imports = [ ./appearance.nix ];
home.keyboard = {
layout = "us";
options = [ "ctrl:nocaps" "compose:ralt" ];
@ -17,7 +19,8 @@ with lib;
plugins = [ pkgs.evolution pkgs.evolution-ews ];
};
in [
keybase-gui
feh
betterlockscreen
gn.gnome-tweaks
mate.atril
@ -28,15 +31,13 @@ with lib;
nyxt
lagrange
tor-browser-bundle-bin
thunderbird
evolution
calibre
atom
obsidian
logseq
flameshot
gitkraken
discord
keybase-gui
openshot-qt
blender
@ -109,45 +110,8 @@ with lib;
'';
};
programs.wal = {
enable = true;
background = pkgs.fetchurl {
# From Stefanie Buchanan's ArtStation: https://www.artstation.com/artwork/bK0kkn
urls = [
"https://cdnb.artstation.com/p/assets/images/images/029/712/149/large/stefanie-buchanan-img-2414.jpg"
"http://bafybeiff7bjww2dicbqhfubiq67wma6qrjkkndk6s773glwiystzir2goe.ipfs.localhost:8080/"
"https://bafybeiff7bjww2dicbqhfubiq67wma6qrjkkndk6s773glwiystzir2goe.ipfs.dweb.link/"
];
name = "wallpaper.jpg";
sha256 =
"b6b9b88e10715e9e7dfd33dc80ecfff90fa58f0529e6f7c88f67f34991da57e0";
};
shell.enable = false;
sway.enable = true;
};
fonts.fontconfig.enable = true;
gtk = {
enable = true;
theme.name = "Equilux";
theme.package = pkgs.equilux-theme;
font.name = "Fira Sans Condensed Regular 10";
font.package = pkgs.fira;
iconTheme.name = "Flat-Remix-Green-Dark";
iconTheme.package = pkgs.flat-remix-icon-theme;
gtk3.extraConfig = {
gtk-xft-antialias = 1;
gtk-xft-hinting = 1;
gtk-xft-hintstyle = "hintmedium";
gtk-xft-rgba = "rgb";
gtk-enable-animations = false;
};
};
programs.mako = {
enable = true;
defaultTimeout = 10000;
@ -200,8 +164,17 @@ with lib;
terminal = pkgs.alacritty + /bin/alacritty;
};
programs.chromium.enable = true;
programs.chromium.package = pkgs.ungoogled-chromium;
programs.chromium = {
enable = true;
extensions = [
{ id = "cjpalhdlnbpafiamejdnhcphjbkeiagm"; } # uBlock origin
{ id = "hdokiejnpimakedhajhdlcegeplioahd"; } # LastPass
{ id = "ldgfbffkinooeloadekpmfoklnobpien"; } # raindrop.io
{ id = "kkhfnlkhiapbiehimabddjbimfaijdhk"; } # gopass bridge
{ id = "ldpochfccmkkmhdbclfhpagapcfdljkj"; } # DecentralEyes
];
};
programs.qutebrowser.enable = true;
programs.element-desktop.enable = true;

View File

@ -74,4 +74,9 @@ in {
};
};
};
services.betterlockscreen = {
enable = true;
inactiveInterval = 10;
};
}

View File

@ -25,49 +25,6 @@ secondary = #8ABEB7
alert = #A54242
disabled = #707880
[bar/main]
width = 100%
height = 24pt
; radius = 6
; dpi = 96
background = ${colors.background}
foreground = ${colors.foreground}
line-size = 3pt
border-size = 12pt
border-bottom-size = 0pt
border-color = #00000000
padding-left = 0
padding-right = 1
module-margin = 1
separator = |
separator-foreground = ${colors.disabled}
font-0 = monospace;2
modules-left = xworkspaces xwindow
modules-center = date
modules-right = pulseaudio xkeyboard memory cpu wlan
cursor-click = pointer
cursor-scroll = ns-resize
enable-ipc = true
tray-position = right
; wm-restack = generic
; wm-restack = bspwm
wm-restack = i3
; override-redirect = true
[module/xworkspaces]
type = internal/xworkspaces
@ -87,10 +44,34 @@ label-empty = %name%
label-empty-foreground = ${colors.disabled}
label-empty-padding = 1
pin-workspaces = true
[module/xwindow]
type = internal/xwindow
label = %title:0:60:...%
[module/i3]
type = internal/i3
label-focused = %name%
label-focused-background = ${colors.background-alt}
label-focused-underline= ${colors.primary}
label-focused-padding = 1
label-unfocused = %name%
label-unfocused-padding = 1
label-urgent = %name%
label-urgent-background = ${colors.alert}
label-urgent-padding = 1
label-visible = %name%
; label-visible-foreground = ${colors.disabled}
label-visible-underline = ${colors.secondary}
label-visible-padding = 1
pin-workspaces = true
[module/filesystem]
type = internal/fs
interval = 25

View File

@ -11,8 +11,52 @@
};
script = ''
polybar main &
polybar secondary &
'';
config = { };
config = let
common = {
width = "100%";
height = "24pt";
background = "\${colors.background}";
foreground = "\${colors.foreground}";
line-size = "3pt";
border-size = "12pt";
border-bottom-size = "0pt";
border-color = "#00000000";
padding-left = 0;
padding-right = 1;
module-margin = 1;
separator = "|";
separator-foreground = "\${colors.disabled}";
font-0 = "monospace";
cursor-click = "pointer";
cursor-scroll = "ns-resize";
enable-ipc = "true";
wm-restack = "i3";
};
in {
"bar/main" = {
monitor = "DisplayPort-0";
modules-left = "i3 xwindow";
modules-center = "date";
modules-right = "pulseaudio xkeyboard memory cpu wlan";
tray-position = "right";
} // common;
"bar/secondary" = {
monitor = "DisplayPort-1";
modules-left = "i3 xwindow";
} // common;
};
extraConfig = lib.readFile ./polybar.ini;
};
}

View File

@ -12,13 +12,6 @@ let
passCommand = "cat ${h}/Private/Keys/Borg/passphrase";
};
prune.keep = {
within = "1w";
daily = 14;
weekly = 4;
monthly = -1;
};
extraInitArgs = "--make-parent-dirs";
environment = {
BORG_RSH = "ssh -i /home/jez/.ssh/id_rsa_u275275";
@ -28,10 +21,28 @@ let
in {
services.borgbackup.jobs = {
general = lib.recursiveUpdate defaults {
paths =
[ "${h}/Documents" "${h}/Projects" "${h}/Reference" "/etc/nixos" ];
paths = [
"${h}/Documents"
"${h}/Projects"
"${h}/Reference"
"${h}/Notes"
"${h}/Web"
"/etc/nixos"
];
repo = "${repoRoot}/Gwydion/General";
exclude = [ "target" ".build" ".sync" ".stfolder" ];
prune.keep = {
within = "1w";
daily = 14;
weekly = 4;
monthly = -1;
};
};
mail = lib.recursiveUpdate defaults {
paths = [ "${h}/Maildir" "${h}/Archive" ];
repo = "${repoRoot}/Gwydion/Mail";
prune.keep.daily = 3;
};
};
}

View File

@ -22,6 +22,8 @@
};
};
virtualisation.docker.storageDriver = "zfs";
users.users.jez.uid = 1000;
users.groups.jez.gid = 1000;

View File

@ -27,6 +27,11 @@
fsType = "zfs";
};
fileSystems."/var/lib/docker" = {
device = "trough/DATA/docker";
fsType = "zfs";
};
fileSystems."/home/jez" = {
device = "trough/ROOT/nixos/home/jez";
fsType = "zfs";

View File

@ -1,5 +1,41 @@
final: prev:
let inherit (final) callPackage;
let
inherit (final) callPackage fetchpatch buildPackages;
# custom override for go 1.18 including the revert of CL411617, CL417615.
# Can be dropped if/once go 1.18.5 is released with CL417615.
# or when staging go 1.18.4 includes the revert.
__buildGo118ModuleCL417615 = let
fetchBase64Patch = args:
(fetchpatch args).overrideAttrs
(o: { postFetch = "mv $out p; base64 -d p > $out; " + o.postFetch; });
in prev.buildGo118Module.override {
go = buildPackages.go_1_18.overrideAttrs (oldAttrs: rec {
patches = oldAttrs.patches or [ ] ++ [
# https://go-review.googlesource.com/c/go/+/417615/
(fetchBase64Patch {
url =
"https://go-review.googlesource.com/changes/go~417615/revisions/3/patch";
sha256 = "sha256-Gu5eZUwGGch7et75A/BNynbs4VlQUBClVUxjxPkdjOs=";
})
];
});
};
in {
gopass = prev.gopass.override { buildGoModule = __buildGo118ModuleCL417615; };
gopass-hibp =
prev.gopass-hibp.override { buildGoModule = __buildGo118ModuleCL417615; };
gopass-jsonapi = prev.gopass-jsonapi.override {
buildGoModule = __buildGo118ModuleCL417615;
};
git-credential-gopass = prev.git-credential-gopass.override {
buildGoModule = __buildGo118ModuleCL417615;
};
gopass-summon-provider = prev.gopass-summon-provider.override {
buildGoModule = __buildGo118ModuleCL417615;
};
}

View File

@ -14,7 +14,7 @@ in {
};
autoScrub = {
enable = true;
interval = "monthly";
interval = "weekly";
};
};
};