The Blue Update #1

Merged
Jimbo merged 101 commits from Refactor into main 2024-10-25 21:26:22 -04:00
229 changed files with 1496 additions and 1479 deletions
Showing only changes of commit e3bacb2d84 - Show all commits

View file

@ -1,4 +1,4 @@
{ { ... }: {
auth = "doas"; auth = "doas";
nixcfg = "ranger /etc/nixos"; nixcfg = "ranger /etc/nixos";
} }

View file

@ -1,4 +1,4 @@
{ { ... }: {
d1 = "DP-3"; d1 = "DP-3";
d2 = "DP-1"; d2 = "DP-1";
d3 = "DP-2"; d3 = "DP-2";

View file

@ -1,4 +1,4 @@
rec { { ... }: rec {
netInt = "eno1"; netInt = "eno1";
localSpan = "10.0.0"; localSpan = "10.0.0";
server = "${localSpan}.2"; server = "${localSpan}.2";

View file

@ -1,4 +1,4 @@
{ { ... }: {
colors = { colors = {
prime = ''3823C4''; #3823C4 prime = ''3823C4''; #3823C4
accent = ''1B1F59''; #1B1F59 accent = ''1B1F59''; #1B1F59

View file

@ -1,5 +1,4 @@
{inputs, ...}: { { inputs, ... }: {
# This one brings our custom packages from the 'pkgs' directory
additions = final: _prev: import ./pkgs {pkgs = final;}; additions = final: _prev: import ./pkgs {pkgs = final;};
selfsuper = (self: super: { selfsuper = (self: super: {

View file

@ -1,5 +1,4 @@
# Custom packages, that can be defined similarly to nixpkgs { pkgs, ... }: {
{pkgs, ...}: {
xash3d = pkgs.callPackage ./xash/xash3d.nix {}; xash3d = pkgs.callPackage ./xash/xash3d.nix {};
hlsdk = pkgs.callPackage ./xash/hlsdk.nix {}; hlsdk = pkgs.callPackage ./xash/hlsdk.nix {};
} }

View file

@ -1,4 +1,4 @@
{ { ... }: {
# Define domains # Define domains
jimDomain = ""; jimDomain = "";

Binary file not shown.

View file

@ -1,4 +1,4 @@
{ { ... }: {
w0 = ''0:0''; w0 = ''0:0'';
w1 = ''1:1''; w1 = ''1:1'';
w2 = ''2:2''; w2 = ''2:2'';

View file

@ -55,27 +55,27 @@
JimDesktop = nixpkgs.lib.nixosSystem { JimDesktop = nixpkgs.lib.nixosSystem {
specialArgs = {inherit inputs outputs;}; specialArgs = {inherit inputs outputs;};
modules = [ modules = [
./system/hosts/JimDesktop/configuration.nix ./hosts/JimDesktop/configuration.nix
]; ];
}; };
JimServer = nixpkgs.lib.nixosSystem { JimServer = nixpkgs.lib.nixosSystem {
specialArgs = {inherit inputs outputs;}; specialArgs = {inherit inputs outputs;};
modules = [ modules = [
./system/hosts/JimServer/configuration.nix ./JimServer/configuration.nix
mailserver.nixosModule mailserver.nixosModule
]; ];
}; };
JimPine = nixpkgs.lib.nixosSystem { JimPine = nixpkgs.lib.nixosSystem {
specialArgs = {inherit inputs outputs;}; specialArgs = {inherit inputs outputs;};
modules = [ modules = [
./system/hosts/JimPine/configuration.nix ./hosts/JimPine/configuration.nix
hardware.nixosModules.pine64-pinebook-pro hardware.nixosModules.pine64-pinebook-pro
]; ];
}; };
JimLenovo = nixpkgs.lib.nixosSystem { JimLenovo = nixpkgs.lib.nixosSystem {
specialArgs = {inherit inputs outputs;}; specialArgs = {inherit inputs outputs;};
modules = [ modules = [
./system/hosts/JimLenovo/configuration.nix ./hosts/JimLenovo/configuration.nix
]; ];
}; };
}; };
@ -86,7 +86,7 @@
pkgs = nixpkgs.legacyPackages.x86_64-linux; pkgs = nixpkgs.legacyPackages.x86_64-linux;
extraSpecialArgs = {inherit inputs outputs;}; extraSpecialArgs = {inherit inputs outputs;};
modules = [ modules = [
./home/hosts/JimDesktop/home.nix ./hosts/JimDesktop/home.nix
nur.nixosModules.nur nur.nixosModules.nur
]; ];
}; };
@ -94,14 +94,14 @@
pkgs = nixpkgs.legacyPackages.x86_64-linux; pkgs = nixpkgs.legacyPackages.x86_64-linux;
extraSpecialArgs = {inherit inputs outputs;}; extraSpecialArgs = {inherit inputs outputs;};
modules = [ modules = [
./home/hosts/JimServer/home.nix ./hosts/JimServer/home.nix
]; ];
}; };
"jimbo@JimPine" = home-manager.lib.homeManagerConfiguration { "jimbo@JimPine" = home-manager.lib.homeManagerConfiguration {
pkgs = nixpkgs.legacyPackages.aarch64-linux; pkgs = nixpkgs.legacyPackages.aarch64-linux;
extraSpecialArgs = {inherit inputs outputs;}; extraSpecialArgs = {inherit inputs outputs;};
modules = [ modules = [
./home/hosts/JimPine/home.nix ./hosts/JimPine/home.nix
nur.nixosModules.nur nur.nixosModules.nur
]; ];
}; };
@ -109,7 +109,7 @@
pkgs = nixpkgs.legacyPackages.x86_64-linux; pkgs = nixpkgs.legacyPackages.x86_64-linux;
extraSpecialArgs = {inherit inputs outputs;}; extraSpecialArgs = {inherit inputs outputs;};
modules = [ modules = [
./home/hosts/JimLenovo/home.nix ./hosts/JimLenovo/home.nix
nur.nixosModules.nur nur.nixosModules.nur
]; ];
}; };
@ -118,7 +118,7 @@
pkgs = nixpkgs.legacyPackages.x86_64-linux; pkgs = nixpkgs.legacyPackages.x86_64-linux;
extraSpecialArgs = {inherit inputs outputs;}; extraSpecialArgs = {inherit inputs outputs;};
modules = [ modules = [
./home/hosts/JimTerminal/home.nix ./hosts/JimTerminal/home.nix
]; ];
}; };
}; };

View file

@ -1,41 +0,0 @@
# This is your home-manager configuration file
# Use this to configure your home environment (it replaces ~/.config/nixpkgs/home.nix)
{pkgs, inputs, outputs, ...}: {
imports = [
# Terminal apps
./utils/zsh.nix
./utils/fastfetch.nix
./utils/neovim.nix
./utils/ranger.nix
./utils/tmux.nix
# Services
./services/reloadunits.nix
];
nixpkgs = {
config.allowUnfree = true;
overlays = [
outputs.overlays.additions
outputs.overlays.selfsuper
outputs.overlays.finalprev
inputs.blender-bin.overlays.default
];
};
# Common programs I'll need everywhere
home.packages = with pkgs; [
home-manager
gotop
tcptrack
p7zip
vimv
dua
pciutils
usbutils
protonvpn-cli_2
];
# https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion
home.stateVersion = "24.05";
}

11
home/default.nix Normal file
View file

@ -0,0 +1,11 @@
{ ... }: {
imports = [
./users
];
# Allow unfree
nixpkgs.config.allowUnfree = true;
# https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion
home.stateVersion = "24.05";
}

View file

@ -1,46 +0,0 @@
{config, ...}: {
imports = [
# Common modules
./../../base.nix
./../../users/jimbo.nix
./../../utils/git.nix
# GUI Apps
./../../misc/guifiles.nix
./../../sway/sway.nix
./../../sway/swaylock.nix
./../../programs/gtk.nix
./../../programs/foot.nix
./../../programs/librewolf.nix
./../../programs/mangohud.nix
./../../programs/mpv.nix
./../../programs/obs.nix
./../../programs/pcmanfm-qt.nix
./../../programs/rofi.nix
./../../programs/swappy.nix
./../../programs/easyeffects.nix
./../../utils/ncmpcpp.nix
# Misc apps and tools
./../../misc/useful.nix
./../../misc/avtools.nix
./../../misc/filemanager.nix
./../../misc/production.nix
./../../misc/gaming.nix
./../../misc/xash3d.nix
#./../../misc/emulators.nix
#./../../misc/remotedesktop.nix
./../../misc/school.nix
./../../misc/variables.nix
# Services
./../../services/gnome-keyring.nix
./../../services/mako.nix
./../../services/udiskie.nix
];
# Symlinks
home.file = {
"VMs".source = config.lib.file.mkOutOfStoreSymlink "/etc/libvirt/VMs";
};
}

View file

@ -1,39 +0,0 @@
{
imports = [
# Common modules
./../../base.nix
./../../users/jimbo.nix
./../../utils/git.nix
# GUI Apps
./../../misc/guifiles.nix
./../../sway/sway.nix
./../../sway/swaylock.nix
./../../programs/gtk.nix
./../../programs/foot.nix
./../../programs/librewolf.nix
./../../programs/mangohud.nix
./../../programs/mpv.nix
./../../programs/obs.nix
./../../programs/pcmanfm-qt.nix
./../../programs/rofi.nix
./../../programs/swappy.nix
./../../programs/easyeffects.nix
./../../utils/ncmpcpp.nix
# Misc apps and tools
./../../misc/useful.nix
./../../misc/avtools.nix
./../../misc/filemanager.nix
./../../misc/gaming.nix
./../../misc/xash3d.nix
./../../misc/remotedesktop.nix
./../../misc/school.nix
./../../misc/variables.nix
# Services
./../../services/gnome-keyring.nix
./../../services/mako.nix
./../../services/udiskie.nix
];
}

View file

@ -1,42 +0,0 @@
{pkgs, outputs, ...}: {
imports = [
# Common modules
./../../base.nix
./../../users/jimbo.nix
./../../utils/git.nix
# GUI Apps
./../../misc/guifiles.nix
./../../sway/sway.nix
./../../sway/swaylock.nix
./../../programs/gtk.nix
./../../programs/foot.nix
./../../programs/librewolf.nix
./../../programs/mangohud.nix
./../../programs/mpv.nix
./../../programs/pcmanfm-qt.nix
./../../programs/rofi.nix
./../../programs/swappy.nix
./../../programs/easyeffects.nix
./../../utils/ncmpcpp.nix
# Misc apps and tools
./../../misc/useful.nix
./../../misc/avtools.nix
./../../misc/filemanager.nix
./../../misc/remotedesktop.nix
./../../misc/variables.nix
# Services
./../../services/gnome-keyring.nix
./../../services/mako.nix
./../../services/udiskie.nix
];
# Needed to make the speaker work
home.packages = with pkgs; [
alsa-utils
];
wayland.windowManager.sway.config.output.${outputs.displays.dI}.scale = "1.3";
}

View file

@ -1,8 +0,0 @@
{
imports = [
# Common modules
./../../base.nix
./../../users/jimbo.nix
./../../utils/git.nix
];
}

View file

@ -1,9 +0,0 @@
{pkgs, ...}: {
home.packages = with pkgs; [
yt-dlp
spotdl
playerctl
ffmpeg
pulsemixer
];
}

View file

@ -1,10 +0,0 @@
{pkgs, ...}: {
home.packages = with pkgs; [
dolphin-emu
cemu
ryujinx
duckstation
pcsx2
unstable.lime3ds
];
}

View file

@ -1,7 +0,0 @@
{pkgs, ...}: {
home.packages = with pkgs; [
gnome.file-roller
imagemagick
poppler_utils
];
}

View file

@ -1,8 +0,0 @@
{pkgs, ...}: {
home.packages = with pkgs; [
steam
steam-run
heroic
prismlauncher
];
}

View file

@ -1,9 +0,0 @@
{pkgs, ...}: {
home.packages = with pkgs; [
krita
inkscape
audacity
blender_4_2
sunvox
];
}

View file

@ -1,6 +0,0 @@
{pkgs, ...}: {
home.packages = with pkgs; [
moonlight-qt
rustdesk-flutter
];
}

View file

@ -1,9 +0,0 @@
{pkgs, ...}: {
home.packages = with pkgs; [
remmina
freerdp
globalprotect-openconnect
python3
zoom-us
];
}

View file

@ -1,13 +0,0 @@
{pkgs, ...}: {
home.packages = with pkgs; [
imv
qbittorrent
libreoffice-fresh
vesktop
fractal
ffmpegthumbnailer
thunderbird
protonvpn-cli_2
bc
];
}

View file

@ -1,30 +0,0 @@
{pkgs, inputs, ...}: {
# Select default apps
xdg.mimeApps.defaultApplications = {
"inode/directory" = ["pcmanfm-qt.desktop"];
"text/plain" = ["nvim.desktop"];
"image/png" = ["imv.desktop"];
"image/jpeg" = ["imv.desktop"];
"video/*" = ["mpv.desktop"];
};
# Set dconf settings
dconf.settings = {
"org/gnome/desktop/interface/color-scheme" = {
color-scheme = "prefer-dark";
};
"org/virt-manager/virt-manager/connections" = {
autoconnect = ["qemu:///system"];
uris = ["qemu:///system"];
};
};
home.file = let
alsoftConf = ''
drivers=pulse
'';
in {
# Alsoft config
".alsoftrc".text = alsoftConf;
};
}

View file

@ -1,6 +0,0 @@
{pkgs, ...}: {
home.packages = with pkgs; [
xash3d
hlsdk
];
}

6
home/modules/default.nix Normal file
View file

@ -0,0 +1,6 @@
{ ... }: {
imports = [
./files
./settings
];
}

View file

Before

Width:  |  Height:  |  Size: 86 KiB

After

Width:  |  Height:  |  Size: 86 KiB

View file

Before

Width:  |  Height:  |  Size: 2 MiB

After

Width:  |  Height:  |  Size: 2 MiB

View file

Before

Width:  |  Height:  |  Size: 2.3 MiB

After

Width:  |  Height:  |  Size: 2.3 MiB

View file

Before

Width:  |  Height:  |  Size: 1.9 MiB

After

Width:  |  Height:  |  Size: 1.9 MiB

View file

Before

Width:  |  Height:  |  Size: 314 KiB

After

Width:  |  Height:  |  Size: 314 KiB

View file

@ -1,15 +1,17 @@
{pkgs, ...}: { {pkgs, ...}: {
# Files that only make sense with a GUI
home.file = { home.file = {
".face" = { ".face" = {
source = ../assets/user-icon.png; source = ./assets/user-icon.png;
}; };
".wallpapers" = { ".wallpapers" = {
source = ../assets/wallpapers; source = ./assets/wallpapers;
recursive = true; recursive = true;
}; };
".icons/default" = { ".icons/default" = {
source = "${pkgs.simp1e-cursors}/share/icons/Simp1e-Dark"; source = "${pkgs.simp1e-cursors}/share/icons/Simp1e-Dark";
}; };
".alsoftrc" = {
text = ''drivers=pulse'';
};
}; };
} }

View file

@ -0,0 +1,8 @@
{ ... }: {
nixpkgs.overlays = [
outputs.overlays.additions
outputs.overlays.selfsuper
outputs.overlays.finalprev
inputs.blender-bin.overlays.default
];
}

View file

@ -0,0 +1,11 @@
{ ... }: {
dconf.settings = {
"org/gnome/desktop/interface/color-scheme" = {
color-scheme = "prefer-dark";
};
"org/virt-manager/virt-manager/connections" = {
autoconnect = ["qemu:///system"];
uris = ["qemu:///system"];
};
};
}

View file

@ -0,0 +1,7 @@
{
imports = [
./dconf
./gtk
./xdg
];
}

View file

@ -1,5 +1,4 @@
{pkgs, outputs, ...}: { { pkgs, outputs, ... }: {
# Define GTK theme settings
gtk = { gtk = {
enable = true; enable = true;
font = { font = {
@ -24,7 +23,6 @@
name = "Simp1e-Dark"; name = "Simp1e-Dark";
}; };
# GTK app bookmarks
gtk3 = { gtk3 = {
bookmarks = [ bookmarks = [
# Local # Local

View file

@ -0,0 +1,9 @@
{ ... }: {
xdg.mimeApps.defaultApplications = {
"inode/directory" = ["pcmanfm-qt.desktop"];
"text/plain" = ["nvim.desktop"];
"image/png" = ["imv.desktop"];
"image/jpeg" = ["imv.desktop"];
"video/*" = ["mpv.desktop"];
};
}

10
home/pc.nix Normal file
View file

@ -0,0 +1,10 @@
{ ... }: {
imports = [
./default.nix
./modules
./profiles
./programs
./sway
./utils
];
}

20
home/programs/default.nix Normal file
View file

@ -0,0 +1,20 @@
{ ... }: {
imports = [
./easyeffects
./fastfetch
./foot
./gaming
./git
./librewolf
./mako
./mangohud
./misc
./mpv
./ncmpcpp
./neovim
./pcmanfm-qt
./ranger
./rofi
./tmux
];
}

View file

@ -1,309 +0,0 @@
{pkgs, ...}: {
home = {
packages = with pkgs; [
easyeffects
];
file = let
# An Easyeffects equalizer profile that sounds good to me
easyEffectsProfile = ''
{
"output": {
"blocklist": [],
"crystalizer#0": {
"band0": {
"bypass": false,
"intensity": 0.0,
"mute": false
},
"band1": {
"bypass": false,
"intensity": -1.0,
"mute": false
},
"band2": {
"bypass": false,
"intensity": -2.0,
"mute": false
},
"band3": {
"bypass": false,
"intensity": -3.0,
"mute": false
},
"band4": {
"bypass": false,
"intensity": -4.0,
"mute": false
},
"band5": {
"bypass": false,
"intensity": -5.0,
"mute": false
},
"band6": {
"bypass": false,
"intensity": -6.0,
"mute": false
},
"band7": {
"bypass": false,
"intensity": -7.0,
"mute": false
},
"band8": {
"bypass": false,
"intensity": -8.0,
"mute": false
},
"band9": {
"bypass": false,
"intensity": -9.0,
"mute": false
},
"band10": {
"bypass": false,
"intensity": -10.0,
"mute": false
},
"band11": {
"bypass": false,
"intensity": -11.0,
"mute": false
},
"band12": {
"bypass": false,
"intensity": -12.0,
"mute": false
},
"bypass": false,
"input-gain": 0.0,
"output-gain": 0.0
},
"equalizer#0": {
"balance": 0.0,
"bypass": false,
"input-gain": 0.0,
"left": {
"band0": {
"frequency": 32.0,
"gain": 1.1,
"mode": "RLC (BT)",
"mute": false,
"q": 4.36,
"slope": "x1",
"solo": false,
"type": "Bell"
},
"band1": {
"frequency": 64.0,
"gain": 1.16,
"mode": "RLC (BT)",
"mute": false,
"q": 4.36,
"slope": "x1",
"solo": false,
"type": "Bell"
},
"band2": {
"frequency": 125.0,
"gain": 3.33,
"mode": "RLC (BT)",
"mute": false,
"q": 4.36,
"slope": "x1",
"solo": false,
"type": "Bell"
},
"band3": {
"frequency": 250.0,
"gain": 1.53,
"mode": "RLC (BT)",
"mute": false,
"q": 4.36,
"slope": "x1",
"solo": false,
"type": "Bell"
},
"band4": {
"frequency": 500.0,
"gain": -1.83,
"mode": "RLC (BT)",
"mute": false,
"q": 4.36,
"slope": "x1",
"solo": false,
"type": "Bell"
},
"band5": {
"frequency": 1000.0,
"gain": -0.58,
"mode": "RLC (BT)",
"mute": false,
"q": 4.36,
"slope": "x1",
"solo": false,
"type": "Bell"
},
"band6": {
"frequency": 2000.0,
"gain": 1.42,
"mode": "RLC (BT)",
"mute": false,
"q": 4.36,
"slope": "x1",
"solo": false,
"type": "Bell"
},
"band7": {
"frequency": 4000.0,
"gain": 4.73,
"mode": "RLC (BT)",
"mute": false,
"q": 4.36,
"slope": "x1",
"solo": false,
"type": "Bell"
},
"band8": {
"frequency": 16000.0,
"gain": 7.62,
"mode": "RLC (BT)",
"mute": false,
"q": 4.36,
"slope": "x1",
"solo": false,
"type": "Bell"
},
"band9": {
"frequency": 156.38,
"gain": 2.84,
"mode": "RLC (BT)",
"mute": false,
"q": 4.36,
"slope": "x1",
"solo": false,
"type": "Bell"
}
},
"mode": "IIR",
"num-bands": 10,
"output-gain": 0.0,
"pitch-left": 0.0,
"pitch-right": 0.0,
"right": {
"band0": {
"frequency": 32.0,
"gain": 1.1,
"mode": "RLC (BT)",
"mute": false,
"q": 4.36,
"slope": "x1",
"solo": false,
"type": "Bell"
},
"band1": {
"frequency": 64.0,
"gain": 1.16,
"mode": "RLC (BT)",
"mute": false,
"q": 4.36,
"slope": "x1",
"solo": false,
"type": "Bell"
},
"band2": {
"frequency": 125.0,
"gain": 3.33,
"mode": "RLC (BT)",
"mute": false,
"q": 4.36,
"slope": "x1",
"solo": false,
"type": "Bell"
},
"band3": {
"frequency": 250.0,
"gain": 1.53,
"mode": "RLC (BT)",
"mute": false,
"q": 4.36,
"slope": "x1",
"solo": false,
"type": "Bell"
},
"band4": {
"frequency": 500.0,
"gain": -1.83,
"mode": "RLC (BT)",
"mute": false,
"q": 4.36,
"slope": "x1",
"solo": false,
"type": "Bell"
},
"band5": {
"frequency": 1000.0,
"gain": -0.58,
"mode": "RLC (BT)",
"mute": false,
"q": 4.36,
"slope": "x1",
"solo": false,
"type": "Bell"
},
"band6": {
"frequency": 2000.0,
"gain": 1.42,
"mode": "RLC (BT)",
"mute": false,
"q": 4.36,
"slope": "x1",
"solo": false,
"type": "Bell"
},
"band7": {
"frequency": 4000.0,
"gain": 4.73,
"mode": "RLC (BT)",
"mute": false,
"q": 4.36,
"slope": "x1",
"solo": false,
"type": "Bell"
},
"band8": {
"frequency": 16000.0,
"gain": 7.62,
"mode": "RLC (BT)",
"mute": false,
"q": 4.36,
"slope": "x1",
"solo": false,
"type": "Bell"
},
"band9": {
"frequency": 156.38,
"gain": 2.84,
"mode": "RLC (BT)",
"mute": false,
"q": 4.36,
"slope": "x1",
"solo": false,
"type": "Bell"
}
},
"split-channels": false
},
"plugins_order": [
"equalizer#0",
"crystalizer#0"
]
}
}
'';
in {
# Easyeffects profile
".config/easyeffects/output/JimHeadphones.json".text = easyEffectsProfile;
};
};
}

View file

@ -0,0 +1,294 @@
{
"output": {
"blocklist": [],
"crystalizer#0": {
"band0": {
"bypass": false,
"intensity": 0.0,
"mute": false
},
"band1": {
"bypass": false,
"intensity": -1.0,
"mute": false
},
"band2": {
"bypass": false,
"intensity": -2.0,
"mute": false
},
"band3": {
"bypass": false,
"intensity": -3.0,
"mute": false
},
"band4": {
"bypass": false,
"intensity": -4.0,
"mute": false
},
"band5": {
"bypass": false,
"intensity": -5.0,
"mute": false
},
"band6": {
"bypass": false,
"intensity": -6.0,
"mute": false
},
"band7": {
"bypass": false,
"intensity": -7.0,
"mute": false
},
"band8": {
"bypass": false,
"intensity": -8.0,
"mute": false
},
"band9": {
"bypass": false,
"intensity": -9.0,
"mute": false
},
"band10": {
"bypass": false,
"intensity": -10.0,
"mute": false
},
"band11": {
"bypass": false,
"intensity": -11.0,
"mute": false
},
"band12": {
"bypass": false,
"intensity": -12.0,
"mute": false
},
"bypass": false,
"input-gain": 0.0,
"output-gain": 0.0
},
"equalizer#0": {
"balance": 0.0,
"bypass": false,
"input-gain": 0.0,
"left": {
"band0": {
"frequency": 32.0,
"gain": 1.1,
"mode": "RLC (BT)",
"mute": false,
"q": 4.36,
"slope": "x1",
"solo": false,
"type": "Bell"
},
"band1": {
"frequency": 64.0,
"gain": 1.16,
"mode": "RLC (BT)",
"mute": false,
"q": 4.36,
"slope": "x1",
"solo": false,
"type": "Bell"
},
"band2": {
"frequency": 125.0,
"gain": 3.33,
"mode": "RLC (BT)",
"mute": false,
"q": 4.36,
"slope": "x1",
"solo": false,
"type": "Bell"
},
"band3": {
"frequency": 250.0,
"gain": 1.53,
"mode": "RLC (BT)",
"mute": false,
"q": 4.36,
"slope": "x1",
"solo": false,
"type": "Bell"
},
"band4": {
"frequency": 500.0,
"gain": -1.83,
"mode": "RLC (BT)",
"mute": false,
"q": 4.36,
"slope": "x1",
"solo": false,
"type": "Bell"
},
"band5": {
"frequency": 1000.0,
"gain": -0.58,
"mode": "RLC (BT)",
"mute": false,
"q": 4.36,
"slope": "x1",
"solo": false,
"type": "Bell"
},
"band6": {
"frequency": 2000.0,
"gain": 1.42,
"mode": "RLC (BT)",
"mute": false,
"q": 4.36,
"slope": "x1",
"solo": false,
"type": "Bell"
},
"band7": {
"frequency": 4000.0,
"gain": 4.73,
"mode": "RLC (BT)",
"mute": false,
"q": 4.36,
"slope": "x1",
"solo": false,
"type": "Bell"
},
"band8": {
"frequency": 16000.0,
"gain": 7.62,
"mode": "RLC (BT)",
"mute": false,
"q": 4.36,
"slope": "x1",
"solo": false,
"type": "Bell"
},
"band9": {
"frequency": 156.38,
"gain": 2.84,
"mode": "RLC (BT)",
"mute": false,
"q": 4.36,
"slope": "x1",
"solo": false,
"type": "Bell"
}
},
"mode": "IIR",
"num-bands": 10,
"output-gain": 0.0,
"pitch-left": 0.0,
"pitch-right": 0.0,
"right": {
"band0": {
"frequency": 32.0,
"gain": 1.1,
"mode": "RLC (BT)",
"mute": false,
"q": 4.36,
"slope": "x1",
"solo": false,
"type": "Bell"
},
"band1": {
"frequency": 64.0,
"gain": 1.16,
"mode": "RLC (BT)",
"mute": false,
"q": 4.36,
"slope": "x1",
"solo": false,
"type": "Bell"
},
"band2": {
"frequency": 125.0,
"gain": 3.33,
"mode": "RLC (BT)",
"mute": false,
"q": 4.36,
"slope": "x1",
"solo": false,
"type": "Bell"
},
"band3": {
"frequency": 250.0,
"gain": 1.53,
"mode": "RLC (BT)",
"mute": false,
"q": 4.36,
"slope": "x1",
"solo": false,
"type": "Bell"
},
"band4": {
"frequency": 500.0,
"gain": -1.83,
"mode": "RLC (BT)",
"mute": false,
"q": 4.36,
"slope": "x1",
"solo": false,
"type": "Bell"
},
"band5": {
"frequency": 1000.0,
"gain": -0.58,
"mode": "RLC (BT)",
"mute": false,
"q": 4.36,
"slope": "x1",
"solo": false,
"type": "Bell"
},
"band6": {
"frequency": 2000.0,
"gain": 1.42,
"mode": "RLC (BT)",
"mute": false,
"q": 4.36,
"slope": "x1",
"solo": false,
"type": "Bell"
},
"band7": {
"frequency": 4000.0,
"gain": 4.73,
"mode": "RLC (BT)",
"mute": false,
"q": 4.36,
"slope": "x1",
"solo": false,
"type": "Bell"
},
"band8": {
"frequency": 16000.0,
"gain": 7.62,
"mode": "RLC (BT)",
"mute": false,
"q": 4.36,
"slope": "x1",
"solo": false,
"type": "Bell"
},
"band9": {
"frequency": 156.38,
"gain": 2.84,
"mode": "RLC (BT)",
"mute": false,
"q": 4.36,
"slope": "x1",
"solo": false,
"type": "Bell"
}
},
"split-channels": false
},
"plugins_order": [
"equalizer#0",
"crystalizer#0"
]
}
}

View file

@ -0,0 +1,10 @@
{pkgs, ...}: {
home = {
packages = with pkgs; [
easyeffects
];
file = {
".config/easyeffects/output/JimHeadphones.json".source = ./JimHeadphones.json;
};
};
}

View file

@ -1,4 +1,4 @@
{pkgs, ...}: { { pkgs, ... }: {
home = { home = {
file = let file = let
fastConf = '' fastConf = ''

View file

@ -0,0 +1,7 @@
{
imports = [
./general
./emulators
./xash3d
];
}

View file

@ -0,0 +1,16 @@
{pkgs, lib, config, ...}: {
options = {
gaming.emulators.enable = lib.mkEnableOption "Enable console emulators";
};
config = mkIf config.gaming.emulators.enable; {
home.packages = with pkgs; [
dolphin-emu
cemu
ryujinx
duckstation
pcsx2
unstable.lime3ds
];
};
}

View file

@ -0,0 +1,14 @@
{pkgs, lib, config, ...}: {
options = {
gaming.general.enable = lib.mkEnableOption "Enable PC gaming apps";
};
config = mkIf config.gaming.general.enable; {
home.packages = with pkgs; [
steam
steam-run
heroic
prismlauncher
];
};
}

View file

@ -0,0 +1,12 @@
{pkgs, lib, config, ...}: {
options = {
gaming.xash3d.enable = lib.mkEnableOption "Enable Xash3d for Half-Life";
};
config = mkIf config.gaming.xash3d.enable; {
home.packages = with pkgs; [
xash3d
hlsdk
];
};
}

View file

@ -1,4 +1,4 @@
{pkgs, outputs, ...}: { { pkgs, outputs, ... }: {
programs.git = { programs.git = {
enable = true; enable = true;
lfs.enable = true; lfs.enable = true;

View file

@ -1,5 +1,4 @@
{pkgs, outputs, ...}: { {pkgs, outputs, ...}: {
# Notification daemon
services.mako = { services.mako = {
enable = true; enable = true;
borderColor = "#${outputs.look.colors.accent}"; borderColor = "#${outputs.look.colors.accent}";
@ -17,7 +16,6 @@
extraConfig = "on-button-right=dismiss-all\nouter-margin=10\n[mode=do-not-disturb]\ninvisible=1"; extraConfig = "on-button-right=dismiss-all\nouter-margin=10\n[mode=do-not-disturb]\ninvisible=1";
}; };
# Script to toggle notifications using mako
home.packages = let home.packages = let
makoToggle = pkgs.writeScriptBin "makotoggle" '' makoToggle = pkgs.writeScriptBin "makotoggle" ''
# Run makoctl mode and store the output in a variable # Run makoctl mode and store the output in a variable

View file

@ -3,9 +3,9 @@
packages = with pkgs; [ packages = with pkgs; [
mangohud mangohud
]; ];
file = let file = {
# Mangohud config file # Mangohud config
mangoConf = '' ".config/MangoHud/MangoHud.conf".text = ''
table_columns=2 table_columns=2
frametime=0 frametime=0
legacy_layout=0 legacy_layout=0
@ -24,9 +24,6 @@
gpu_load_change gpu_load_change
frame_timing frame_timing
''; '';
in {
# Mangohud config
".config/MangoHud/MangoHud.conf".text = mangoConf;
}; };
}; };
} }

View file

@ -0,0 +1,19 @@
{ pkgs, lib, config, ... }: {
options = {
misc.avtools.enable = lib.mkEnableOption "Enable audio video tools";
};
imports = mkIf config.misc.avtools.enable [
./obs
];
config = mkIf config.misc.avtools.enable; {
home.packages = with pkgs; [
yt-dlp
spotdl
playerctl
ffmpeg
pulsemixer
];
};
}

View file

@ -1,5 +1,4 @@
{pkgs, ...}: { {pkgs, lib, config, ...}: {
# OBS with plugins
programs.obs-studio = { programs.obs-studio = {
enable = true; enable = true;
plugins = with pkgs.obs-studio-plugins; [ plugins = with pkgs.obs-studio-plugins; [

View file

@ -0,0 +1,12 @@
{ pkgs, lib, config, ... }: {
options = {
misc.chat.enable = lib.mkEnableOption "Enable chat clients";
};
config = mkIf config.misc.chat.enable; {
home.packages = with pkgs; [
vesktop
fractal
];
};
}

View file

@ -0,0 +1,11 @@
{ ... }: {
imports = [
./avtools
./chat
./general
./headless
./production
./remote-desktop
./school
];
}

View file

@ -0,0 +1,17 @@
{ pkgs, lib, config, ... }: {
options = {
misc.general.enable = lib.mkEnableOption "Enable general use apps";
};
config = mkIf config.misc.general.enable; {
home.packages = with pkgs; [
imv
qbittorrent
libreoffice-fresh
ffmpegthumbnailer
thunderbird
protonvpn-cli_2
bc
];
};
}

View file

@ -0,0 +1,19 @@
{ pkgs, lib, config, ... }: {
options = {
misc.headless.enable = lib.mkEnableOption "Enable apps that can be used headlessly";
};
config = mkIf config.misc.headless.enable; {
home.packages = with pkgs; [
home-manager
gotop
tcptrack
p7zip
vimv
dua
pciutils
usbutils
protonvpn-cli_2
];
};
}

View file

@ -0,0 +1,15 @@
{ pkgs, lib, config, ... }: {
options = {
production.enable = lib.mkEnableOption "Enable apps used for production";
};
config = mkIf config.misc.production.enable; {
home.packages = with pkgs; [
krita
inkscape
audacity
blender_4_2
sunvox
];
};
}

View file

@ -0,0 +1,12 @@
{ pkgs, lib, config, ... }: {
options = {
remote-desktop.enable = lib.mkEnableOption "Enable remote desktop related apps";
};
config = mkIf misc.remote-desktop.nvidia.enable; {
home.packages = with pkgs; [
moonlight-qt
rustdesk-flutter
];
};
}

View file

@ -0,0 +1,14 @@
{ pkgs, lib, config, ... }: {
options = {
school.enable = lib.mkEnableOption "Enable apps needed for school";
};
config = mkIf config.misc.school.enable; {
home.packages = with pkgs; [
remmina
freerdp
globalprotect-openconnect
zoom-us
];
};
}

View file

@ -1,5 +1,4 @@
{ {
# MPV settings
programs.mpv = { programs.mpv = {
enable = true; enable = true;
config = { config = {

View file

@ -1,5 +1,4 @@
{pkgs, ...}: { {pkgs, ...}: {
# Enable NCMPCPP
programs.ncmpcpp = { programs.ncmpcpp = {
enable = true; enable = true;
settings = { settings = {
@ -8,10 +7,8 @@
}; };
}; };
# Enable Discord Music RPC
services.mpd-discord-rpc.enable = true; services.mpd-discord-rpc.enable = true;
# Allow terminal control of mpd
home.packages = with pkgs; [ home.packages = with pkgs; [
mpc-cli mpc-cli
]; ];

View file

@ -1,5 +1,4 @@
{pkgs, outputs, ...}: { { pkgs, outputs, ... }: {
# Install Neovim and plugins
programs.neovim = { programs.neovim = {
enable = true; enable = true;
defaultEditor = true; defaultEditor = true;

View file

@ -1,12 +1,11 @@
{pkgs, ...}: { { pkgs, ... }: {
# Swappy config file
home = { home = {
packages = with pkgs; [ packages = with pkgs; [
pcmanfm-qt pcmanfm-qt
gnome.file-roller
]; ];
file = let file = {
# File manager config ".config/pcmanfm-qt/default/settings.conf".text = ''
pcmanConf = ''
[Behavior] [Behavior]
BookmarkOpenMethod=current_tab BookmarkOpenMethod=current_tab
ConfirmDelete=true ConfirmDelete=true
@ -53,9 +52,6 @@
SwitchToNewTab=true SwitchToNewTab=true
TabPaths=@Invalid() TabPaths=@Invalid()
''; '';
in {
# PCManFM config
".config/pcmanfm-qt/default/settings.conf".text = pcmanConf;
}; };
}; };
} }

View file

@ -1,4 +1,4 @@
{pkgs, ...}: { { pkgs, ... }: {
# Enable Ranger # Enable Ranger
programs.ranger = { programs.ranger = {
enable = true; enable = true;
@ -100,8 +100,9 @@
''; '';
}; };
# Ranger's bookmarks # Ranger's bookmarks and necessary tools
home.file = let home = {
file = let
rangerBookmarks = '' rangerBookmarks = ''
# Local files # Local files
h:/home/jimbo/ h:/home/jimbo/
@ -124,4 +125,9 @@
in { in {
".local/share/ranger/bookmarks".text = rangerBookmarks; ".local/share/ranger/bookmarks".text = rangerBookmarks;
}; };
packages = with pkgs; [
imagemagick
poppler_utils
];
};
} }

View file

@ -1,5 +1,4 @@
{pkgs, config, outputs, ...}: { { pkgs, config, outputs, ... }: {
# Enable Rofi
programs.rofi = { programs.rofi = {
enable = true; enable = true;
package = pkgs.rofi-wayland; package = pkgs.rofi-wayland;
@ -124,7 +123,7 @@
}; };
}; };
home.packages = let home.packages = let
# All my rofi scripts in one file # A script to execute commands with Rofi
rofiScripts = pkgs.writeScriptBin "rofiscripts" '' rofiScripts = pkgs.writeScriptBin "rofiscripts" ''
# Scratchpad function # Scratchpad function
handle_scratchpads() { handle_scratchpads() {

View file

@ -1,19 +0,0 @@
{pkgs, ...}: {
# Swappy config file
home = {
packages = with pkgs; [
swappy
];
file = let
# Swappy config, for screenshot editing
swappyConfig = ''
[Default]
early_exit=true
save_dir=$HOME/Pictures/Screenshots
'';
in {
# Swappy's config
".config/swappy/config".text = swappyConfig;
};
};
}

View file

@ -1,4 +1,4 @@
{ { ... }: {
# Enable tmux # Enable tmux
programs.tmux = { programs.tmux = {
enable = true; enable = true;

11
home/server.nix Normal file
View file

@ -0,0 +1,11 @@
{ ... }: {
imports = [
./default.nix
./utils/zsh
./utils/git
./programs/fastfetch
./programs/neovim
./programs/ranger
./programs/tmux
];
}

View file

@ -1,13 +0,0 @@
{pkgs, ...}: {
services.gnome-keyring = {
enable = true;
components = [
"ssh"
];
};
home.packages = with pkgs; [
gnome.gnome-keyring
gnome.libgnome-keyring
];
}

View file

@ -1,7 +0,0 @@
{
# Nicely reload system units when changing configs
systemd.user = {
enable = true;
startServices = "sd-switch";
};
}

View file

@ -1,8 +1,6 @@
{config, pkgs, ...}: { { pkgs, ... }: {
# Enable Sway and write some scripts
wayland.windowManager.sway = { wayland.windowManager.sway = {
config = { config = {
# Use Waybar rather than Sway's
bars = [{command = "waybar";}]; bars = [{command = "waybar";}];
startup = [ startup = [

View file

@ -1,14 +1,14 @@
{config, pkgs, outputs, ...}: { { config, pkgs, outputs, ... }: {
# Import modules
imports = [ imports = [
#"./swayfx.nix" ./hardware
./hardware.nix ./theme
./theme.nix ./hotkeys
./hotkeys.nix ./rules
./rules.nix ./autostart
./autostart.nix ./waybar
./waybar.nix ./swayshot
./swayshot.nix ./swaylock
./swayfx
]; ];
# Enable Sway and write some scripts # Enable Sway and write some scripts

View file

@ -1,4 +1,4 @@
{config, pkgs, outputs, ...}: { { pkgs, outputs, ... }: {
wayland.windowManager.sway = { wayland.windowManager.sway = {
config = { config = {
# Define monitors # Define monitors

View file

@ -1,4 +1,4 @@
{config, pkgs, outputs, ...}: { { pkgs, outputs, ... }: {
wayland.windowManager.sway = { wayland.windowManager.sway = {
config = let config = let
# Set default modifier and variables # Set default modifier and variables

View file

@ -1,5 +1,4 @@
{config, pkgs, outputs, ...}: { { pkgs, outputs, ... }: {
# Enable Sway and write some scripts
wayland.windowManager.sway = { wayland.windowManager.sway = {
config = { config = {
# Assign workspaces to outputs # Assign workspaces to outputs
@ -112,8 +111,8 @@
}; };
assigns = { assigns = {
# Brooutputs.wsers # Brooutputs.wsers
"${outputs.ws.w1}" = [{app_id = "JimBrooutputs.wser";}]; "${outputs.ws.w1}" = [{app_id = "JimBrowser";}];
"${outputs.ws.w1a}" = [{app_id = "AltBrooutputs.wser";}]; "${outputs.ws.w1a}" = [{app_id = "AltBrowser";}];
# Communication # Communication
"${outputs.ws.w3a}" = [{class = "zoom";}]; "${outputs.ws.w3a}" = [{class = "zoom";}];

View file

@ -1,9 +1,8 @@
{config, pkgs, ...}: { { pkgs, ... }: {
# Enable Sway and write some scripts # Enable Sway and write some scripts
wayland.windowManager.sway = { wayland.windowManager.sway = {
package = pkgs.unstable.sway; package = pkgs.unstable.sway;
extraConfig = '' extraConfig = ''
# SwayFX specific options
blur enable blur enable
blur_passes 3 blur_passes 3
blur_radius 5 blur_radius 5

View file

@ -1,4 +1,4 @@
{config, pkgs, outputs, ...}: let { pkgs, outputs, ... }: let
swayLock = pkgs.writeScriptBin "swaylock" '' swayLock = pkgs.writeScriptBin "swaylock" ''
# Set the lock script # Set the lock script
lockscript() { lockscript() {

View file

@ -1,6 +1,9 @@
{pkgs, outputs, ...}: { { pkgs, outputs, ... }: {
imports = [
./swappy
];
home.packages = let home.packages = let
# Use grim and slurp to take screenshots in multiple ways
swayShot = pkgs.writeScriptBin "swayshot" '' swayShot = pkgs.writeScriptBin "swayshot" ''
# Swappy # Swappy
handle_swappy() { handle_swappy() {

View file

@ -0,0 +1,14 @@
{ pkgs, ... }: {
home = {
packages = with pkgs; [
swappy
];
file = {
".config/swappy/config".text = ''
[Default]
early_exit=true
save_dir=$HOME/Pictures/Screenshots
'';
};
};
}

View file

@ -1,12 +1,9 @@
{config, pkgs, outputs, ...}: { { config, pkgs, outputs, ... }: {
# Enable Sway and write some scripts
wayland.windowManager.sway = { wayland.windowManager.sway = {
enable = true; enable = true;
#package = pkgs.unstable.sway;
wrapperFeatures.gtk = true; wrapperFeatures.gtk = true;
checkConfig = false; checkConfig = false;
config = { config = {
# Theming settings
colors = { colors = {
focused = { focused = {
border = "#${outputs.look.colors.prime}"; border = "#${outputs.look.colors.prime}";

View file

@ -1,4 +1,4 @@
{pkgs, outputs, ...}: { { pkgs, outputs, ... }: {
programs.waybar = let programs.waybar = let
swayWorkspacesModule = { swayWorkspacesModule = {
format = "{name}"; format = "{name}";

5
home/users/default.nix Normal file
View file

@ -0,0 +1,5 @@
{ ... }: {
imports = [
./jimbo
];
}

View file

@ -1,4 +1,4 @@
{ { ... }: {
home = { home = {
username = "jimbo"; username = "jimbo";
homeDirectory = "/home/jimbo"; homeDirectory = "/home/jimbo";

7
home/utils/default.nix Normal file
View file

@ -0,0 +1,7 @@
{ ... }: {
imports = [
./gnome-keyring
./udiskie
./zsh
];
}

View file

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

View file

@ -1,5 +1,4 @@
{ { ... }: {
# Mount as user with udisk2
services.udiskie = { services.udiskie = {
enable = true; enable = true;
automount = false; automount = false;

View file

@ -1,4 +1,4 @@
{pkgs, config, outputs, ...}: { { pkgs, config, outputs, ... }: {
programs.zsh = { programs.zsh = {
enable = true; enable = true;
autosuggestion.enable = true; autosuggestion.enable = true;

View file

@ -0,0 +1,23 @@
{
imports = [
# Base configs
./../../system
./../../system/pc.nix
# Hardware
./hardware-configuration.nix
./../../system/modules/boot/systemd
];
# Enable Nvidia drivers
drivers.nvidia.enable = true;
# Set hostname
networking.hostName = "JimDesktop";
# Force Electron to use Wayland
environment.sessionVariables.NIXOS_OZONE_WL = "1";
# https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion
system.stateVersion = "24.05";
}

26
hosts/JimDesktop/home.nix Normal file
View file

@ -0,0 +1,26 @@
{config, ...}: {
imports = [
# Common modules
./../../home
./../../home/pc.nix
];
# Useful
general.enable = true;
chat.enable = true;
avtools.enable = true;
production.enable = true;
obs.enable = true;
remotedesktop.enable = false;
school.enable = true;
# Gaming
pcgaming.enable = true;
emulators.enable = false;
xash3d.enable = true;
# Symlinks
home.file = {
"VMs".source = config.lib.file.mkOutOfStoreSymlink "/etc/libvirt/VMs";
};
}

17
hosts/JimLenovo/home.nix Normal file
View file

@ -0,0 +1,17 @@
{config, ...}: {
imports = [
# Common modules
./../../home/base.nix
./../../home/pc.nix
./../../home/users/jimbo.nix
];
# Useful
general.enable = true;
chat.enable = true;
avtools.enable = true;
remotedesktop.enable = true;
# Gaming
pcgaming.enable = true;
}

View file

@ -42,7 +42,7 @@
hardware.opengl.driSupport32Bit = lib.mkForce false; hardware.opengl.driSupport32Bit = lib.mkForce false;
# Set the VPN IP per machine # Set the VPN IP per machine
networking.wireguard.interfaces."${outputs.ips.wgInt}".ips = [ "${outputs.ips.wgSpan}.17/24" ]; networking.wireguard.interfaces."${outputs.ips.wgInt}".ips = [ "${outputs.ips.wgSpan}.17/32" ];
# https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion # https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion
system.stateVersion = "24.05"; system.stateVersion = "24.05";

21
hosts/JimPine/home.nix Normal file
View file

@ -0,0 +1,21 @@
{config, ...}: {
imports = [
# Common modules
./../../home/base.nix
./../../home/pc.nix
./../../home/users/jimbo.nix
];
# Useful
general.enable = true;
chat.enable = true;
avtools.enable = true;
remotedesktop.enable = true;
# Needed to make the speaker work
home.packages = with pkgs; [
alsa-utils
];
wayland.windowManager.sway.config.output.${outputs.displays.dI}.scale = "1.3";
}

Some files were not shown because too many files have changed in this diff Show more