Lots of changes...

Fix flake.nix merge conflict
This commit is contained in:
Jack Mechem 2026-04-03 15:10:55 -07:00
parent c165d5bbba
commit 99abfabc12
5 changed files with 280 additions and 150 deletions

120
flake.lock generated
View file

@ -1,5 +1,20 @@
{
"nodes": {
"crane": {
"locked": {
"lastModified": 1775236976,
"narHash": "sha256-gCgX+AXN7K1gAIEqcLcZHxmC+QoZcwn9m6Z9r2Az+N8=",
"owner": "ipetkov",
"repo": "crane",
"rev": "6c23998526351a53ce734f0ac84940da988ccef1",
"type": "github"
},
"original": {
"owner": "ipetkov",
"repo": "crane",
"type": "github"
}
},
"flake-utils": {
"inputs": {
"systems": "systems"
@ -36,6 +51,24 @@
"type": "github"
}
},
"flake-utils_3": {
"inputs": {
"systems": "systems_3"
},
"locked": {
"lastModified": 1731533236,
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"gtkapps": {
"inputs": {
"flake-utils": "flake-utils",
@ -61,11 +94,11 @@
"nixpkgs": "nixpkgs_2"
},
"locked": {
"lastModified": 1772153827,
"narHash": "sha256-xUjYgc6JhP6poKwC8eLipENIP8DBc0zJjQyowVWbEl0=",
"lastModified": 1774395694,
"narHash": "sha256-3lgJc02mSjwoFF4rmot3TLKkXAfG7EOOQG2pXn1XwgI=",
"owner": "JackMechem",
"repo": "gtkbar",
"rev": "c4915d89278f609777983030f8cf64f2bc08b3a8",
"rev": "79161abfc138d7ccbb1d0207dc1c15e8d5220179",
"type": "github"
},
"original": {
@ -81,11 +114,11 @@
]
},
"locked": {
"lastModified": 1772060133,
"narHash": "sha256-VuyRptb8v1lVGMlLp4/1vRX3Efwec0CN0S6mKmDPzLg=",
"lastModified": 1773367248,
"narHash": "sha256-FFMc1uAwy2GYasd0rdNDVxKyAgzuoJH2M+GglBQbqf0=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "ce9b6e52500a0ea0ec48f0bbf6d7a3e431d9dfa4",
"rev": "be0c641a6a5564caa33982faa1fe2c60d92131c7",
"type": "github"
},
"original": {
@ -102,11 +135,11 @@
]
},
"locked": {
"lastModified": 1771756436,
"narHash": "sha256-Tl2I0YXdhSTufGqAaD1ySh8x+cvVsEI1mJyJg12lxhI=",
"lastModified": 1772330611,
"narHash": "sha256-UZjPc/d5XRxvjDbk4veAO4XFdvx6BUum2l40V688Xq8=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "5bd3589390b431a63072868a90c0f24771ff4cbb",
"rev": "58fd7ff0eec2cda43e705c4c0585729ec471d400",
"type": "github"
},
"original": {
@ -149,11 +182,11 @@
},
"nixpkgs_3": {
"locked": {
"lastModified": 1771848320,
"narHash": "sha256-0MAd+0mun3K/Ns8JATeHT1sX28faLII5hVLq0L3BdZU=",
"lastModified": 1773122722,
"narHash": "sha256-FIqHByVqxCprNjor1NqF80F2QQoiiyqanNNefdlvOg4=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "2fc6539b481e1d2569f25f8799236694180c0993",
"rev": "62dc67aa6a52b4364dd75994ec00b51fbf474e50",
"type": "github"
},
"original": {
@ -169,9 +202,51 @@
"gtkbar": "gtkbar",
"home-manager": "home-manager",
"nixpkgs": "nixpkgs_3",
"rust-app-menu": "rust-app-menu",
"zen-browser": "zen-browser"
}
},
"rust-app-menu": {
"inputs": {
"crane": "crane",
"flake-utils": "flake-utils_3",
"nixpkgs": [
"nixpkgs"
],
"rust-overlay": "rust-overlay"
},
"locked": {
"lastModified": 1775253460,
"narHash": "sha256-If2c4Jpo1B6PCzSo2/qONmL5rmdQrVyO7wnojpmMg/0=",
"path": "/home/jack/Projects/rust-app-menu",
"type": "path"
},
"original": {
"path": "/home/jack/Projects/rust-app-menu",
"type": "path"
}
},
"rust-overlay": {
"inputs": {
"nixpkgs": [
"rust-app-menu",
"nixpkgs"
]
},
"locked": {
"lastModified": 1775099554,
"narHash": "sha256-3xBsGnGDLOFtnPZ1D3j2LU19wpAlYefRKTlkv648rU0=",
"owner": "oxalica",
"repo": "rust-overlay",
"rev": "8d6387ed6d8e6e6672fd3ed4b61b59d44b124d99",
"type": "github"
},
"original": {
"owner": "oxalica",
"repo": "rust-overlay",
"type": "github"
}
},
"systems": {
"locked": {
"lastModified": 1681028828,
@ -202,6 +277,21 @@
"type": "github"
}
},
"systems_3": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"zen-browser": {
"inputs": {
"home-manager": "home-manager_2",
@ -210,11 +300,11 @@
]
},
"locked": {
"lastModified": 1772085492,
"narHash": "sha256-1o9qkvOI/ThFDgEbW4Q4GVK7aV+traAIWSqP7gom7/0=",
"lastModified": 1773290887,
"narHash": "sha256-L1yMYmFffHfZNP+hKJGRBmrFKkn/VDhu7jEbVftBQuM=",
"owner": "0xc000022070",
"repo": "zen-browser-flake",
"rev": "6577a70551b52ef35138e5d8b87a35d40b14eeeb",
"rev": "9346698c4562819f61b4e5097151ec0b17729fab",
"type": "github"
},
"original": {

106
flake.nix
View file

@ -1,58 +1,60 @@
{
description = "Nixos config flake";
description = "Nixos config flake";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
gtkapps.url = "github:JackMechem/gtkapps";
gtkbar.url = "github:JackMechem/gtkbar";
# midirun.url = "path:/home/jack/Projects/midirun";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
gtkapps.url = "github:JackMechem/gtkapps";
gtkbar.url = "github:JackMechem/gtkbar";
# midirun.url = "path:/home/jack/Projects/midirun";
zen-browser = {
url = "github:0xc000022070/zen-browser-flake";
# IMPORTANT: we're using "libgbm" and is only available in unstable so ensure
# to have it up-to-date or simply don't specify the nixpkgs input
inputs.nixpkgs.follows = "nixpkgs";
};
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
server-dash = {
url = "path:/home/jack/Projects/server-dash";
};
server-dash-api = {
url = "path:/home/jack/Projects/server-dash-api";
};
zen-browser = {
url = "github:0xc000022070/zen-browser-flake";
# IMPORTANT: we're using "libgbm" and is only available in unstable so ensure
# to have it up-to-date or simply don't specify the nixpkgs input
inputs.nixpkgs.follows = "nixpkgs";
};
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
server-dash = {
url = "path:/home/jack/Projects/server-dash";
};
server-dash-api = {
url = "path:/home/jack/Projects/server-dash-api";
};
rust-app-menu.url = "path:/home/jack/Projects/rust-app-menu";
rust-app-menu.inputs.nixpkgs.follows = "nixpkgs";
};
outputs =
{ self, nixpkgs, ... }@inputs:
{
# use "nixos", or your hostname as the name of the configuration
# it's a better practice than "default" shown in the video
nixosConfigurations.t480 = nixpkgs.lib.nixosSystem {
specialArgs = { inherit inputs; };
modules = [
./hosts/t480/configuration.nix
inputs.home-manager.nixosModules.default
];
};
nixosConfigurations.desktop = nixpkgs.lib.nixosSystem {
specialArgs = { inherit inputs; };
modules = [
./hosts/desktop/configuration.nix
inputs.home-manager.nixosModules.default
#inputs.midirun.nixosModules.default
];
};
nixosConfigurations.dellserv = nixpkgs.lib.nixosSystem {
specialArgs = { inherit inputs; };
modules = [
./hosts/dellserv/configuration.nix
inputs.home-manager.nixosModules.default
inputs.server-dash.nixosModules.default
inputs.server-dash-api.nixosModules.default
];
};
};
outputs =
{ self, nixpkgs, ... }@inputs:
{
# use "nixos", or your hostname as the name of the configuration
# it's a better practice than "default" shown in the video
nixosConfigurations.t480 = nixpkgs.lib.nixosSystem {
specialArgs = { inherit inputs; };
modules = [
./hosts/t480/configuration.nix
inputs.home-manager.nixosModules.default
];
};
nixosConfigurations.desktop = nixpkgs.lib.nixosSystem {
specialArgs = { inherit inputs; };
modules = [
./hosts/desktop/configuration.nix
inputs.home-manager.nixosModules.default
#inputs.midirun.nixosModules.default
];
};
nixosConfigurations.dellserv = nixpkgs.lib.nixosSystem {
specialArgs = { inherit inputs; };
modules = [
./hosts/dellserv/configuration.nix
inputs.home-manager.nixosModules.default
inputs.server-dash.nixosModules.default
inputs.server-dash-api.nixosModules.default
];
};
};
}

View file

@ -1,78 +1,106 @@
{
config,
lib,
pkgs,
inputs,
...
config,
lib,
pkgs,
inputs,
...
}:
{
imports = [
./hardware-configuration.nix
inputs.home-manager.nixosModules.default
../../modules/nixos/gtkapps.nix
../../modules/nixos/gtkbar.nix
../../modules/nixos/fonts.nix
../../modules/nixos/system-packages.nix
../../modules/nixos/user-jack.nix
../../modules/nixos/sound.nix
../../modules/nixos/syncthing.nix
imports = [
./hardware-configuration.nix
inputs.home-manager.nixosModules.default
../../modules/nixos/gtkapps.nix
../../modules/nixos/gtkbar.nix
../../modules/nixos/fonts.nix
../../modules/nixos/system-packages.nix
../../modules/nixos/user-jack.nix
../../modules/nixos/sound.nix
../../modules/nixos/syncthing.nix
];
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
boot.kernelPackages = pkgs.linuxPackages_latest;
networking.hostName = "t480";
networking.networkmanager.enable = true;
nix.settings = {
# Use all cores for building
cores = 0; # 0 = use all available cores
max-jobs = "auto";
# Binary caches — fetch pre-built packages instead of compiling
substituters = [
"https://cache.nixos.org"
"https://nix-community.cachix.org" # useful for rust-overlay, lix, etc.
];
trusted-public-keys = [
"cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
"nix-community.cachix.org-1:mB9FSh9qf2dde0enLeymSlflN93qlwkTnNQsGbLFPzU="
];
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
# Avoid redundant downloads
http-connections = 128;
http2 = true;
boot.kernelPackages = pkgs.linuxPackages_latest;
# Keep build dependencies around so incremental builds are faster
keep-outputs = true;
keep-derivations = true;
networking.hostName = "t480";
networking.networkmanager.enable = true;
nix.settings.experimental-features = [
"nix-command"
"flakes"
# Experimental features (you likely already have these)
experimental-features = [
"nix-command"
"flakes"
];
};
time.timeZone = "America/Los_Angeles";
time.timeZone = "America/Los_Angeles";
# Enable CUPS to print documents.
services.printing.enable = true;
# Enable CUPS to print documents.
services.printing.enable = true;
services.dbus.enable = true;
services.dbus.enable = true;
programs.zsh.enable = true;
programs.zsh.enable = true;
programs.thunar.enable = true;
programs.thunar.enable = true;
programs.dconf.enable = true;
programs.dconf.enable = true;
nixpkgs.config.allowUnfree = true;
nixpkgs.config.allowUnfree = true;
virtualisation.docker.enable = true;
virtualisation.docker.enable = true;
services.gtkapps.enable = true;
services.gtkbar.enable = true;
# services.gtkapps.enable = true;
services.gtkbar.enable = true;
environment.systemPackages = [
inputs.rust-app-menu.packages.${pkgs.system}.default
];
xdg.portal = {
enable = true;
wlr.enable = true;
extraPortals = with pkgs; [
xdg-desktop-portal-gtk
xdg-desktop-portal-hyprland
xdg-desktop-portal-gnome
];
xdg.portal = {
enable = true;
wlr.enable = true;
extraPortals = with pkgs; [
xdg-desktop-portal-gtk
xdg-desktop-portal-hyprland
xdg-desktop-portal-gnome
];
};
home-manager = {
extraSpecialArgs = { inherit inputs; };
users = {
"jack" = import ./home.nix;
};
};
home-manager = {
extraSpecialArgs = { inherit inputs; };
users = {
"jack" = import ./home.nix;
};
};
services.libinput.enable = true;
services.libinput.enable = true;
services.openssh.enable = true;
services.openssh.enable = true;
system.stateVersion = "25.05";
system.stateVersion = "25.05";
}

View file

@ -1,36 +1,39 @@
{ pkgs, ... }:
{
home.packages = with pkgs; [
### Desktop Stuff
pkgs.sway-contrib.grimshot
waypaper
hyprpaper
swaybg
home.packages = with pkgs; [
### Desktop Stuff
pkgs.sway-contrib.grimshot
waypaper
hyprpaper
swaybg
### Audio
playerctl
spotify
pavucontrol
### Audio
playerctl
spotify
pavucontrol
### Chat apps
lunar-client
discord
zoom-us
### Chat apps
lunar-client
discord
zoom-us
### Random Libraries and Dependencies
gtk3
glib
zlib
deno
### Random Libraries and Dependencies
gtk3
glib
zlib
deno
### System Monitoring Tools
mission-center
htop
### System Monitoring Tools
mission-center
htop
### Development Tools
jetbrains.idea
jetbrains-toolbox
jdk
gnumake
];
### Development Tools
jetbrains.idea
jetbrains-toolbox
jdk
gnumake
### Note taking tools
obsidian
];
}

View file

@ -32,6 +32,7 @@
exec-once = [
"waypaper --restore"
"gtkbar"
"rust-app-menu"
"dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP"
"solaar -w hide"
];
@ -39,7 +40,7 @@
# --- Variables ---
"$terminal" = "ghostty";
"$fileManager" = "thunar";
"$menu" = "gtkapps";
"$menu" = "rust-app-menu";
env = [
"XCURSOR_SIZE,24"
@ -51,7 +52,7 @@
kb_layout = "us";
kb_options = "caps:escape";
follow_mouse = 1;
mouse_refocus = false;
mouse_refocus = true;
touchpad = {
natural_scroll = "no";
};
@ -75,6 +76,12 @@
allow_tearing = false;
};
# --- Fix Zoom ---
windowrule = [
"match:class ^(zoom)$, no_follow_mouse 1"
"match:class ^(zoom)$, suppress_event maximize"
];
# --- Decoration ---
decoration = {
rounding = 12;