+9
-1
hosts/bubblegum.nix
+9
-1
hosts/bubblegum.nix
···
31
31
# Needed for desktop environments to detect display orientation
32
32
hardware.sensor.iio.enable = lib.mkDefault true;
33
33
34
-
environment.systemPackages = [ pkgs.framework-tool ];
34
+
environment.systemPackages = [
35
+
pkgs.framework-tool
36
+
pkgs.btop-cuda
37
+
];
35
38
# / From
36
39
boot = {
37
40
loader = {
···
73
76
];
74
77
home-manager.users.teq.teq.home-manager.gui = true;
75
78
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
79
+
hardware.graphics.extraPackages = with pkgs; [
80
+
vpl-gpu-rt
81
+
vaapiIntel
82
+
intel-media-driver
83
+
];
76
84
teq.nixos = {
77
85
gui.enable = true;
78
86
gui.amd = false;
+22
-4
modules/home-manager/by-category/gui/applications.nix
+22
-4
modules/home-manager/by-category/gui/applications.nix
···
3
3
lib,
4
4
config,
5
5
...
6
-
}: {
6
+
}:
7
+
{
7
8
config = lib.mkIf config.teq.home-manager.gui {
8
9
home.packages = with pkgs; [
9
10
bibata-cursors # 160MB
···
23
24
kdePackages.wayland-protocols
24
25
# kde:
25
26
kdePackages.filelight # Disk usage analyzer
27
+
moonlight-qt
28
+
prismlauncher
29
+
qalculate-qt
30
+
kdePackages.kalk
31
+
krita
32
+
haruna
33
+
digikam
34
+
kdePackages.yakuake
35
+
kdePackages.kcharselect
26
36
];
27
37
services = {
28
38
### kde:
···
34
44
settings = {
35
45
nocjk = true;
36
46
loglevel = 5;
37
-
topdirs = ["~/_/Downloads" "~/_/Documents" "~/_/Repos"];
47
+
topdirs = [
48
+
"~/_/Downloads"
49
+
"~/_/Documents"
50
+
# "~/_/Repos"
51
+
];
38
52
39
53
"~/_/Downloads" = {
40
-
"skippedNames+" = ["*.iso"];
54
+
"skippedNames+" = [ "*.iso" ];
41
55
};
42
56
43
57
"~/_/Repos" = {
44
-
"skippedNames+" = ["node_modules" "target" "result"];
58
+
"skippedNames+" = [
59
+
"node_modules"
60
+
"target"
61
+
"result"
62
+
];
45
63
};
46
64
};
47
65
};
+28
-20
modules/home-manager/by-category/gui/browsers.nix
+28
-20
modules/home-manager/by-category/gui/browsers.nix
···
3
3
lib,
4
4
config,
5
5
...
6
-
}: {
6
+
}:
7
+
{
7
8
config = lib.mkIf config.teq.home-manager.gui {
8
9
programs = {
9
10
chromium = {
10
11
enable = true; # 2GB / 600 MB
11
12
package = pkgs.brave;
12
-
dictionaries = [pkgs.hunspellDictsChromium.en_US];
13
+
dictionaries = [ pkgs.hunspellDictsChromium.en_US ];
13
14
extensions = [
14
-
{id = "cjpalhdlnbpafiamejdnhcphjbkeiagm";} # ublock-origin
15
-
{id = "ejddcgojdblidajhngkogefpkknnebdh";} # autoplaystopper
16
-
{id = "mnjggcdmjocbbbhaepdhchncahnbgone";} # sponsorblock-for-youtube
17
-
{id = "eimadpbcbfnmbkopoojfekhnkhdbieeh";} # dark reader
18
-
{id = "enamippconapkdmgfgjchkhakpfinmaj";} # DeArrow
19
-
{id = "amefmmaoenlhckgaoppgnmhlcolehkho";} # github-vscode-icons-updated
20
-
{id = "lpnakhpaodhdkleejaehlapdhbgjbddp";} # Hide Files on GitHub
15
+
{ id = "cjpalhdlnbpafiamejdnhcphjbkeiagm"; } # ublock-origin
16
+
{ id = "ejddcgojdblidajhngkogefpkknnebdh"; } # autoplaystopper
17
+
{ id = "mnjggcdmjocbbbhaepdhchncahnbgone"; } # sponsorblock-for-youtube
18
+
{ id = "eimadpbcbfnmbkopoojfekhnkhdbieeh"; } # dark reader
19
+
{ id = "enamippconapkdmgfgjchkhakpfinmaj"; } # DeArrow
20
+
{ id = "amefmmaoenlhckgaoppgnmhlcolehkho"; } # github-vscode-icons-updated
21
+
{ id = "lpnakhpaodhdkleejaehlapdhbgjbddp"; } # Hide Files on GitHub
21
22
# {id = "fihnjjcciajhdojfnbdddfaoknhalnja";} # I don't care about cookies
22
-
{id = "dneaehbmnbhcippjikoajpoabadpodje";} # old reddit redirect
23
-
{id = "jmpmfcjnflbcoidlgapblgpgbilinlem";} # PixelBlock
24
-
{id = "pkehgijcmpdhfbdbbnkijodmdjhbjlgp";} # Privacy Badger
23
+
{ id = "dneaehbmnbhcippjikoajpoabadpodje"; } # old reddit redirect
24
+
{ id = "jmpmfcjnflbcoidlgapblgpgbilinlem"; } # PixelBlock
25
+
{ id = "pkehgijcmpdhfbdbbnkijodmdjhbjlgp"; } # Privacy Badger
25
26
# {id = "einpaelgookohagofgnnkcfjbkkgepnp";} # Random User-Agent (Switcher)
26
-
{id = "kbmfpngjjgdllneeigpgjifpgocmfgmb";} # Reddit Enhancement Suite
27
-
{id = "hlepfoohegkhhmjieoechaddaejaokhf";} # Refined GitHub
27
+
{ id = "kbmfpngjjgdllneeigpgjifpgocmfgmb"; } # Reddit Enhancement Suite
28
+
{ id = "hlepfoohegkhhmjieoechaddaejaokhf"; } # Refined GitHub
28
29
# {id = "oiigbmnaadbkfbmpbfijlflahbdbdgdf";} # ScriptSafe
29
-
{id = "cheogdcgfjpolnpnjijnjccjljjclplg";} # Showdown Randbats Tooltip
30
-
{id = "dabpnahpcemkfbgfbmegmncjllieilai";} # Showdex
31
-
{id = "oedncfcpfcmehalbpdnekgaaldefpaef";} # Substitoot
32
-
{id = "fpnmgdkabkmnadcjpehmlllkndpkmiak";} # Wayback Machine
33
-
{id = "cimiefiiaegbelhefglklhhakcgmhkai";} # Plasma Integration
30
+
{ id = "cheogdcgfjpolnpnjijnjccjljjclplg"; } # Showdown Randbats Tooltip
31
+
{ id = "dabpnahpcemkfbgfbmegmncjllieilai"; } # Showdex
32
+
{ id = "oedncfcpfcmehalbpdnekgaaldefpaef"; } # Substitoot
33
+
{ id = "fpnmgdkabkmnadcjpehmlllkndpkmiak"; } # Wayback Machine
34
+
{ id = "cimiefiiaegbelhefglklhhakcgmhkai"; } # Plasma Integration
34
35
];
35
36
commandLineArgs = [
36
37
"--disable-features=WebRtcAllowInputVolumeAdjustment"
37
38
];
38
39
};
39
-
firefox.enable = true; # 1.6GB / 300MB
40
+
firefox = {
41
+
enable = true;
42
+
nativeMessagingHosts = [
43
+
# pkgs.tridactyl
44
+
pkgs.fx-cast-bridge
45
+
# pkgs.ff2mpv
46
+
];
47
+
};
40
48
};
41
49
};
42
50
}
+4
-2
modules/home-manager/by-category/gui/instant-messengers.nix
+4
-2
modules/home-manager/by-category/gui/instant-messengers.nix
···
3
3
lib,
4
4
config,
5
5
...
6
-
}: {
6
+
}:
7
+
{
7
8
config = lib.mkIf config.teq.home-manager.gui {
8
9
home.packages = with pkgs; [
9
10
vesktop # 1.8GB / 8MB
10
-
# discord # discocss
11
+
discord-ptb # discocss
12
+
betterdiscordctl
11
13
discord-krisp # 1.3GB / 300MB (mesa 800MB)
12
14
discover-overlay # 600MB / 15MB (gtk+3, gtk-layer-shell)
13
15
];
+53
-9
modules/nixos/by-category/networking.nix
+53
-9
modules/nixos/by-category/networking.nix
···
3
3
lib,
4
4
config,
5
5
...
6
-
}: let
6
+
}:
7
+
let
7
8
inherit (lib) mkDefault;
8
-
in {
9
+
in
10
+
{
9
11
config = lib.mkIf config.teq.nixos.enable {
10
12
services = {
11
13
tailscale.enable = true;
···
37
39
mosh.enable = mkDefault true;
38
40
};
39
41
environment.systemPackages = with pkgs; [
42
+
openfortivpn
40
43
cifs-utils
41
-
kdePackages.kio-fuse #to mount remote filesystems via FUSE
42
-
kdePackages.kio-extras #extra protocols support (sftp, fish and more)
43
-
kdePackages.qtsvg #support for svg icons
44
+
kdePackages.kio-fuse # to mount remote filesystems via FUSE
45
+
kdePackages.kio-extras # extra protocols support (sftp, fish and more)
46
+
kdePackages.qtsvg # support for svg icons
44
47
];
48
+
# systemd.services.openfortivpn = {
49
+
# description = "OpenFortiVPN Service";
50
+
# after = [ "network.target" ];
51
+
# wants = [ "network-online.target" "systemd-networkd-wait-online.service" ];
52
+
# documentation = ["https://github.com/adrienverge/openfortivpn#readme"];
53
+
# wantedBy = [ "multi-user.target" ];
54
+
# serviceConfig = {
55
+
# Type = "notify";
56
+
# PrivateTmp = true;
57
+
# ExecStart = "${pkgs.openfortivpn}/bin/openfortivpn";
58
+
# Restart = "no";
59
+
# RestartSec = "30s";
60
+
# User = "root";
61
+
# Sockets = [ "openfortivpn.socket" ];
62
+
# StandardInput = "socket";
63
+
# StandardOutput = "journal";
64
+
# StandardError = "journal";
65
+
# };
66
+
# };
67
+
# systemd.sockets.openfortivpn = {
68
+
# description = "OpenFortiVPN Socket";
69
+
# socketConfig = {
70
+
# ListenFIFO = "/run/openfortivpn.stdin";
71
+
# Service = "openfortivpn.service";
72
+
# Accept = "false";
73
+
# RemoveOnStop = "yes";
74
+
# SocketMode = "0660";
75
+
# };
76
+
# };
45
77
networking = {
46
78
# nftables.enable = true; # Attempt to get ipv6 forwarding for tailscale exit nodes working
47
79
networkmanager.enable = lib.mkDefault true;
···
61
93
enable = true;
62
94
checkReversePath = "loose";
63
95
trustedInterfaces = [ "tailscale0" ];
64
-
allowedUDPPorts = [ 9000 config.services.tailscale.port 3000 ];
65
-
allowedTCPPorts = [ 9000 3000 ];
96
+
allowedUDPPorts = [
97
+
9000
98
+
config.services.tailscale.port
99
+
3000
100
+
];
101
+
allowedTCPPorts = [
102
+
9000
103
+
3000
104
+
];
66
105
allowedTCPPortRanges = [
67
106
{
68
107
from = 1714;
···
78
117
extraCommands = ''iptables -t raw -A OUTPUT -p udp -m udp --dport 137 -j CT --helper netbios-ns'';
79
118
};
80
119
hosts = {
81
-
"10.0.0.12" = [ "dreamer.local" "pihole.shatteredsky.net" "cloud-aio.shatteredsky.net" "awx.shatteredsky.net" ];
120
+
"10.0.0.12" = [
121
+
"dreamer.local"
122
+
"pihole.shatteredsky.net"
123
+
"cloud-aio.shatteredsky.net"
124
+
"awx.shatteredsky.net"
125
+
];
82
126
};
83
127
};
84
128
};
85
-
129
+
86
130
}