3 Commits

Author SHA1 Message Date
45de738d59 wip: trying to get obsidian working
not a working build, syntax issues, added options that are not available
in stable home-manager
2025-08-08 22:10:47 -04:00
e6ae0c4c35 sway building 2025-07-30 22:33:23 -04:00
739f2e125f wip: added obsidian
but waybar failed to build
2025-07-30 08:29:27 -04:00
9 changed files with 137 additions and 64 deletions

46
flake.lock generated
View File

@@ -64,11 +64,11 @@
"zon2nix": "zon2nix" "zon2nix": "zon2nix"
}, },
"locked": { "locked": {
"lastModified": 1756131615, "lastModified": 1753816554,
"narHash": "sha256-rmmsEZglqzgxIePTKe5wCIQ3syzAb4jE3RpNxD/2tzY=", "narHash": "sha256-eyFfBXb5IJaNTGTdkjpWKSMTs8wiJ0i+9n5jUKtVFa4=",
"owner": "ghostty-org", "owner": "ghostty-org",
"repo": "ghostty", "repo": "ghostty",
"rev": "8aa0b4c92a54f822043e134d2b84ee29844f944e", "rev": "c78d32074ebab14d2060e5cd3c7667cbe37ab8ee",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -84,11 +84,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1755928099, "lastModified": 1753592768,
"narHash": "sha256-OILVkfhRCm8u18IZ2DKR8gz8CVZM2ZcJmQBXmjFLIfk=", "narHash": "sha256-oV695RvbAE4+R9pcsT9shmp6zE/+IZe6evHWX63f2Qg=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "4a44fb9f7555da362af9d499817084f4288a957f", "rev": "fc3add429f21450359369af74c2375cb34a2d204",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -129,24 +129,11 @@
}, },
"nixpkgs_2": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1755972213, "lastModified": 1753749649,
"narHash": "sha256-VYK7aDAv8H1enXn1ECRHmGbeY6RqLnNwUJkOwloIsko=", "narHash": "sha256-+jkEZxs7bfOKfBIk430K+tK9IvXlwzqQQnppC2ZKFj4=",
"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": "b1b3291469652d5a2edb0becc4ef0246fff97a7c", "rev": "1f08a4df998e21f4e8be8fb6fbf61d11a1a5076a",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -162,7 +149,7 @@
"ghostty": "ghostty", "ghostty": "ghostty",
"home-manager": "home-manager", "home-manager": "home-manager",
"nix-flatpak": "nix-flatpak", "nix-flatpak": "nix-flatpak",
"nixpkgs": "nixpkgs_3" "nixpkgs": "nixpkgs_2"
} }
}, },
"systems": { "systems": {
@@ -215,20 +202,23 @@
"ghostty", "ghostty",
"flake-utils" "flake-utils"
], ],
"nixpkgs": "nixpkgs_2" "nixpkgs": [
"ghostty",
"nixpkgs"
]
}, },
"locked": { "locked": {
"lastModified": 1756000480, "lastModified": 1742104771,
"narHash": "sha256-fR5pdcjO0II5MNdCzqvyokyuFkmff7/FyBAjUS6sMfA=", "narHash": "sha256-LhidlyEA9MP8jGe1rEnyjGFCzLLgCdDpYeWggibayr0=",
"owner": "jcollie", "owner": "jcollie",
"repo": "zon2nix", "repo": "zon2nix",
"rev": "d9dc9ef1ab9ae45b5c9d80c6a747cc9968ee0c60", "rev": "56c159be489cc6c0e73c3930bd908ddc6fe89613",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "jcollie", "owner": "jcollie",
"repo": "zon2nix", "repo": "zon2nix",
"rev": "d9dc9ef1ab9ae45b5c9d80c6a747cc9968ee0c60", "rev": "56c159be489cc6c0e73c3930bd908ddc6fe89613",
"type": "github" "type": "github"
} }
} }

View File

@@ -2,11 +2,16 @@
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";
@@ -17,9 +22,11 @@
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
@@ -28,6 +35,10 @@
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;
@@ -66,6 +77,10 @@
./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,4 +1,5 @@
{ {
config,
lib, lib,
pkgs, pkgs,
userName, userName,
@@ -13,7 +14,7 @@
}; };
in { in {
# Import sub modules # Import sub modules
imports = map (module: import module {inherit lib pkgs dirs userName userEmail ghostty;}) [ imports = map (module: import module {inherit config lib pkgs dirs userName userEmail ghostty;}) [
./atuin.nix ./atuin.nix
./shell.nix ./shell.nix
./packages ./packages
@@ -27,6 +28,7 @@ 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
@@ -56,7 +58,7 @@ in {
size = 22; size = 22;
}; };
stateVersion = "24.11"; stateVersion = "25.05";
}; };
# Let Home Manager install and manage itself. # Let Home Manager install and manage itself.

53
home/obsidian.nix Normal file
View File

@@ -0,0 +1,53 @@
{ 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,7 +23,6 @@
fh fh
aria2 aria2
yt-dlp yt-dlp
obsidian
vscode vscode
weechat weechat
inetutils inetutils

View File

@@ -147,5 +147,20 @@ 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

@@ -6,19 +6,14 @@
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 # Common environment variables that every system will use
environment.variables.EDITOR = "nvim"; environment.variables.EDITOR = "nvim";

View File

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

View File

@@ -11,7 +11,6 @@
"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"
]; ];