4 Commits

Author SHA1 Message Date
faed026258 some formatting modifications 2025-09-04 14:05:36 -04:00
3af5061a79 system update 2025-08-27 11:31:11 -04:00
ddd3fb39e4 bulk of the refactor 2025-08-27 11:31:06 -04:00
6ff4e13b03 flake update 2025-08-12 09:14:50 -04:00
9 changed files with 64 additions and 139 deletions

46
flake.lock generated
View File

@@ -64,11 +64,11 @@
"zon2nix": "zon2nix" "zon2nix": "zon2nix"
}, },
"locked": { "locked": {
"lastModified": 1753816554, "lastModified": 1756131615,
"narHash": "sha256-eyFfBXb5IJaNTGTdkjpWKSMTs8wiJ0i+9n5jUKtVFa4=", "narHash": "sha256-rmmsEZglqzgxIePTKe5wCIQ3syzAb4jE3RpNxD/2tzY=",
"owner": "ghostty-org", "owner": "ghostty-org",
"repo": "ghostty", "repo": "ghostty",
"rev": "c78d32074ebab14d2060e5cd3c7667cbe37ab8ee", "rev": "8aa0b4c92a54f822043e134d2b84ee29844f944e",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -84,11 +84,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1753592768, "lastModified": 1755928099,
"narHash": "sha256-oV695RvbAE4+R9pcsT9shmp6zE/+IZe6evHWX63f2Qg=", "narHash": "sha256-OILVkfhRCm8u18IZ2DKR8gz8CVZM2ZcJmQBXmjFLIfk=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "fc3add429f21450359369af74c2375cb34a2d204", "rev": "4a44fb9f7555da362af9d499817084f4288a957f",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -129,11 +129,24 @@
}, },
"nixpkgs_2": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1753749649, "lastModified": 1755972213,
"narHash": "sha256-+jkEZxs7bfOKfBIk430K+tK9IvXlwzqQQnppC2ZKFj4=", "narHash": "sha256-VYK7aDAv8H1enXn1ECRHmGbeY6RqLnNwUJkOwloIsko=",
"rev": "73e96df7cff5783f45e21342a75a1540c4eddce4",
"type": "tarball",
"url": "https://releases.nixos.org/nixos/unstable-small/nixos-25.11pre850642.73e96df7cff5/nixexprs.tar.xz"
},
"original": {
"type": "tarball",
"url": "https://channels.nixos.org/nixos-unstable-small/nixexprs.tar.xz"
}
},
"nixpkgs_3": {
"locked": {
"lastModified": 1755922037,
"narHash": "sha256-wY1+2JPH0ZZC4BQefoZw/k+3+DowFyfOxv17CN/idKs=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "1f08a4df998e21f4e8be8fb6fbf61d11a1a5076a", "rev": "b1b3291469652d5a2edb0becc4ef0246fff97a7c",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -149,7 +162,7 @@
"ghostty": "ghostty", "ghostty": "ghostty",
"home-manager": "home-manager", "home-manager": "home-manager",
"nix-flatpak": "nix-flatpak", "nix-flatpak": "nix-flatpak",
"nixpkgs": "nixpkgs_2" "nixpkgs": "nixpkgs_3"
} }
}, },
"systems": { "systems": {
@@ -202,23 +215,20 @@
"ghostty", "ghostty",
"flake-utils" "flake-utils"
], ],
"nixpkgs": [ "nixpkgs": "nixpkgs_2"
"ghostty",
"nixpkgs"
]
}, },
"locked": { "locked": {
"lastModified": 1742104771, "lastModified": 1756000480,
"narHash": "sha256-LhidlyEA9MP8jGe1rEnyjGFCzLLgCdDpYeWggibayr0=", "narHash": "sha256-fR5pdcjO0II5MNdCzqvyokyuFkmff7/FyBAjUS6sMfA=",
"owner": "jcollie", "owner": "jcollie",
"repo": "zon2nix", "repo": "zon2nix",
"rev": "56c159be489cc6c0e73c3930bd908ddc6fe89613", "rev": "d9dc9ef1ab9ae45b5c9d80c6a747cc9968ee0c60",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "jcollie", "owner": "jcollie",
"repo": "zon2nix", "repo": "zon2nix",
"rev": "56c159be489cc6c0e73c3930bd908ddc6fe89613", "rev": "d9dc9ef1ab9ae45b5c9d80c6a747cc9968ee0c60",
"type": "github" "type": "github"
} }
} }

View File

@@ -2,16 +2,11 @@
description = "Wyatt's nix configuration suite"; description = "Wyatt's nix configuration suite";
inputs = { inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-25.05"; nixpkgs.url = "github:nixos/nixpkgs/nixos-25.05";
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
nix-flatpak.url = "github:gmodena/nix-flatpak/?ref=v0.6.0"; nix-flatpak.url = "github:gmodena/nix-flatpak/?ref=v0.6.0";
home-manager = { home-manager = {
url = "github:nix-community/home-manager/release-25.05"; url = "github:nix-community/home-manager/release-25.05";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
home-manager-unstable = {
url = "https://github.com/nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs-unstable";
};
darwin = { darwin = {
url = "github:lnl7/nix-darwin/nix-darwin-25.05"; url = "github:lnl7/nix-darwin/nix-darwin-25.05";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
@@ -22,11 +17,9 @@
outputs = inputs @ { outputs = inputs @ {
self, self,
nixpkgs, nixpkgs,
nixpkgs-unstable,
nix-flatpak, nix-flatpak,
darwin, darwin,
home-manager, home-manager,
home-manager-unstable,
ghostty, ghostty,
... ...
}: let }: let
@@ -35,10 +28,6 @@
extraSpecialArgs = { extraSpecialArgs = {
inherit userName userEmail ghostty; inherit userName userEmail ghostty;
}; };
obsidianOverlay = final: prev: {
obsidian = nixpkgs-unstable.legacyPackages.${final.system}.obsidian;
};
in { in {
meta = import ./meta; meta = import ./meta;
@@ -77,10 +66,6 @@
./modules/common ./modules/common
./modules/machine/cloud ./modules/machine/cloud
{
nixpkgs.overlays = [ obsidianOverlay ];
}
home-manager.nixosModules.home-manager home-manager.nixosModules.home-manager
{ {
home-manager.useGlobalPkgs = true; home-manager.useGlobalPkgs = true;

View File

@@ -1,5 +1,4 @@
{ {
config,
lib, lib,
pkgs, pkgs,
userName, userName,
@@ -14,7 +13,7 @@
}; };
in { in {
# Import sub modules # Import sub modules
imports = map (module: import module {inherit config lib pkgs dirs userName userEmail ghostty;}) [ imports = map (module: import module {inherit lib pkgs dirs userName userEmail ghostty;}) [
./atuin.nix ./atuin.nix
./shell.nix ./shell.nix
./packages ./packages
@@ -28,7 +27,6 @@ in {
./browser.nix ./browser.nix
./zellij.nix ./zellij.nix
./bat.nix ./bat.nix
./obsidian.nix
]; ];
# Home Manager needs a bit of information about you and the # Home Manager needs a bit of information about you and the
@@ -58,7 +56,7 @@ in {
size = 22; size = 22;
}; };
stateVersion = "25.05"; stateVersion = "24.11";
}; };
# Let Home Manager install and manage itself. # Let Home Manager install and manage itself.

View File

@@ -1,53 +0,0 @@
{ config, home-manager-unstable, pkgs, ...}: {
home.packages = with pkgs; [
obsidian
obsidian-export
];
programs.obsidian = {
enable = true;
package =
vaults = {
"notes" = {
enable = true;
target = "${config.home.homeDirectory}/Documents/obsidian/notes";
};
"work-notes" = {
enable = true;
target = "${config.home.homeDirectory}/Documents/obsidian/work-notes";
};
};
# defaultSettings = {
# themes = [ "catppuccin" ];
# };
};
home.activation.obsidianRepos = config.lib.dag.entryAfter ["writeBoundary"] ''
REPOS_DIR="${config.home.homeDirectory}/Documents/obsidian"
# Create the repos directory if it doesn't exist
mkdir -p "$REPOS_DIR"
# Function to clone or update a repository
clone_or_update() {
local repo_url="$1"
local vault_name="$2"
local vault_path="$REPOS_DIR/$vault_name"
if [ -d "$vault_path/.git" ]; then
echo "Updating existing vault: $vault_name"
cd "$vault_path"
${pkgs.git}/bin/git pull origin main || ${pkgs.git}/bin/git pull origin master || true
else
echo "Cloning new vault: $vault_name"
rm -rf "$vault_path" # Remove if exists but not a git repo
${pkgs.git}/bin/git clone "$repo_url" "$vault_path" || true
fi
}
# Clone repositories
clone_or_update "https://scm.wyattjmiller.com/NoteFolio/notes.git" "notes"
clone_or_update "https://scm.wyattjmiller.com/NoteFolio/work-notes.git" "work-notes"
echo "Obsidian repository vaults setup complete in $REPOS_DIR"
'';
}

View File

@@ -23,6 +23,7 @@
fh fh
aria2 aria2
yt-dlp yt-dlp
obsidian
vscode vscode
weechat weechat
inetutils inetutils

View File

@@ -147,20 +147,5 @@ in {
programs.waybar = { programs.waybar = {
enable = pkgs.stdenv.isLinux; enable = pkgs.stdenv.isLinux;
systemd.enable = true; systemd.enable = true;
package = pkgs.waybar.overrideAttrs (old: {
version = "0.13.0";
src = pkgs.fetchFromGitHub {
owner = "Alexays";
repo = "Waybar";
rev = "0fcda9afa519eb84deda68c051f7938a6c6bdbce";
sha256 = "sha256-Puo/Y4qotb6uEEe9vbu/hyFXwLntr48R2C6mrmDKs0c=";
fetchSubmodules = true;
};
buildInputs = old.buildInputs ++ [ pkgs.fftw ];
mesonFlags = (old.mesonFlags or []) ++ [ "-Dcava=disabled" ];
});
}; };
} }

View File

@@ -1,20 +1,23 @@
{ lib, pkgs, ... }: { { lib, pkgs, ... }: {
# Common packages that every system will use
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
git git
vim vim
neovim neovim
usbutils usbutils
coreutils coreutils
lshw
systemd
dmidecode
pciutils pciutils
nix-ld
patchelf patchelf
htop htop
]; ] ++
lib.optionals pkgs.stdenv.isLinux (with pkgs; [
systemd
lshw
dmidecode
nix-ld
]) ++
lib.optionals pkgs.stdenv.isDarwin (with pkgs; [
# nothing here, yet ;)
]);
# Common environment variables that every system will use
environment.variables.EDITOR = "nvim"; environment.variables.EDITOR = "nvim";
} }

View File

@@ -1,30 +1,23 @@
{ lib, pkgs, userName, hostname, ... }:
{ {
lib,
pkgs,
userName,
hostname,
...
} @ args: {
networking.hostName = hostname; networking.hostName = hostname;
# Don't forget to set a password with passwd! users.users."${userName}" = {
users.users."${userName}" = lib.mkMerge [ home = if pkgs.stdenv.isDarwin
{ then "/Users/${userName}"
home = else "/home/${userName}";
if pkgs.stdenv.isDarwin description = userName;
then "/Users/${userName}" } // lib.optionalAttrs pkgs.stdenv.isLinux {
else "/home/${userName}"; group = "${userName}";
description = userName; isNormalUser = true;
} };
(lib.mkIf (pkgs.stdenv.isLinux) { users.groups.wyatt = {};
group = "${userName}"; nix.settings.trusted-users = [userName];
isNormalUser = true;
})
];
security.sudo = { security = lib.optionalAttrs pkgs.stdenv.isLinux {
extraRules = [ sudo.extraRules = [
{ {
groups = [ "wheel" ]; groups = [ "wheel" ];
commands = [ commands = [
@@ -37,7 +30,9 @@
]; ];
}; };
users.groups.wyatt = {}; environment = lib.optionalAttrs pkgs.stdenv.isDarwin {
etc."sudoers.d/wheel-nopasswd".text = ''
nix.settings.trusted-users = [userName]; %wheel ALL=(ALL:ALL) NOPASSWD: SETENV: ALL
'';
};
} }

View File

@@ -11,6 +11,7 @@
"info.beyondallreason.bar" "info.beyondallreason.bar"
"io.dbeaver.DBeaverCommunity" "io.dbeaver.DBeaverCommunity"
"io.openrct2.OpenRCT2" "io.openrct2.OpenRCT2"
"md.obsidian.Obsidian"
"org.prismlauncher.PrismLauncher" "org.prismlauncher.PrismLauncher"
"sh.cider.Cider" "sh.cider.Cider"
]; ];