Include NixOS into configuration #2

Merged
wymiller merged 18 commits from nixos-snapshot-09092024 into master 2024-11-17 17:16:08 -06:00
13 changed files with 45 additions and 117 deletions
Showing only changes of commit ea90e55cbb - Show all commits

View File

@ -3,19 +3,20 @@
"darwin": { "darwin": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
"nixpkgs-darwin" "nixpkgs"
] ]
}, },
"locked": { "locked": {
"lastModified": 1725628909, "lastModified": 1730448474,
"narHash": "sha256-xI0OSqPHcs/c/utJsU0Zvcp1VhejMI9mgwr68uHHlPs=", "narHash": "sha256-qE/cYKBhzxHMtKtLK3hlSR3uzO1pWPGLrBuQK7r0CHc=",
"owner": "lnl7", "owner": "lnl7",
"repo": "nix-darwin", "repo": "nix-darwin",
"rev": "76559183801030451e200c90a1627c1d82bb4910", "rev": "683d0c4cd1102dcccfa3f835565378c7f3cbe05e",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "lnl7", "owner": "lnl7",
"ref": "master",
"repo": "nix-darwin", "repo": "nix-darwin",
"type": "github" "type": "github"
} }
@ -27,16 +28,15 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1725703823, "lastModified": 1730490306,
"narHash": "sha256-tDgM4d8mLK0Hd6YMB2w1BqMto1XBXADOzPEaLl10VI4=", "narHash": "sha256-AvCVDswOUM9D368HxYD25RsSKp+5o0L0/JHADjLoD38=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "208df2e558b73b6a1f0faec98493cb59a25f62ba", "rev": "1743615b61c7285976f85b303a36cdf88a556503",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nix-community", "owner": "nix-community",
"ref": "release-24.05",
"repo": "home-manager", "repo": "home-manager",
"type": "github" "type": "github"
} }
@ -91,22 +91,6 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs-darwin": {
"locked": {
"lastModified": 1725784148,
"narHash": "sha256-kZQbAtu+HSIU186Y4sXL+YJNnVpAo6sb+qowxv8MwaQ=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "075d83b556ad70f12f82bbd54eb019f5657dd371",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixpkgs-24.05-darwin",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_2": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1726243404, "lastModified": 1726243404,
@ -129,8 +113,7 @@
"home-manager": "home-manager", "home-manager": "home-manager",
"nix-flatpak": "nix-flatpak", "nix-flatpak": "nix-flatpak",
"nix-ld": "nix-ld", "nix-ld": "nix-ld",
"nixpkgs": "nixpkgs_2", "nixpkgs": "nixpkgs_2"
"nixpkgs-darwin": "nixpkgs-darwin"
} }
} }
}, },

View File

@ -3,15 +3,14 @@
inputs = { inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
nix-flatpak.url = "github:gmodena/nix-flatpak/?ref=v0.4.1"; nix-flatpak.url = "github:gmodena/nix-flatpak/?ref=v0.4.1";
nixpkgs-darwin.url = "github:nixos/nixpkgs/nixpkgs-24.05-darwin";
nix-ld.url = "github:Mic92/nix-ld"; nix-ld.url = "github:Mic92/nix-ld";
home-manager = { home-manager = {
url = "github:nix-community/home-manager/release-24.05"; url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
darwin = { darwin = {
url = "github:lnl7/nix-darwin"; url = "github:lnl7/nix-darwin/master";
inputs.nixpkgs.follows = "nixpkgs-darwin"; inputs.nixpkgs.follows = "nixpkgs";
}; };
}; };
@ -27,7 +26,7 @@
userName = "wyatt"; userName = "wyatt";
userEmail = "wyatt@wyattjmiller.com"; userEmail = "wyatt@wyattjmiller.com";
extraSpecialArgs = { extraSpecialArgs = {
inherit userName userEmail ; inherit userName userEmail;
}; };
in { in {
# Primary laptop - MacBook Pro (2023, M3) # Primary laptop - MacBook Pro (2023, M3)

View File

@ -1,63 +0,0 @@
{pkgs, ...}: {
home.packages = with pkgs; [
nnn # terminal file manager
# archives
zip
xz
unzip
p7zip
# utils
zellij
tmux
bat
lazygit
bottom
ripgrep
jq
yq-go
fzf
fh
aria2
yt-dlp
imv
xdg-utils
# misc
cowsay
file
which
tree
gnutar
gnupg
nerdfonts
zoxide
babelfish
# language-specific package managers
nodejs
cargo
python3
# nix specific stuff
nixd
deadnix
alejandra
statix
# productivity
# iterm2
discord
betterdiscordctl
vesktop
obsidian
vscode
weechat
# iamb
# ollama
# games?
# prismlauncher
];
}

View File

@ -15,7 +15,7 @@ in {
imports = map (module: import module {inherit lib pkgs dirs userName userEmail;}) [ imports = map (module: import module {inherit lib pkgs dirs userName userEmail;}) [
./atuin.nix ./atuin.nix
./shell.nix ./shell.nix
./core.nix ./packages
./git.nix ./git.nix
./starship.nix ./starship.nix
./eza.nix ./eza.nix
@ -43,7 +43,7 @@ in {
XDG_STATE_HOME = "$HOME/.local/state"; XDG_STATE_HOME = "$HOME/.local/state";
}; };
pointerCursor = { pointerCursor = lib.mkIf pkgs.stdenv.isLinux {
gtk.enable = true; gtk.enable = true;
package = pkgs.catppuccin-cursors.mochaDark; package = pkgs.catppuccin-cursors.mochaDark;
name = "catppuccin-mocha-dark-cursors"; name = "catppuccin-mocha-dark-cursors";

View File

@ -21,8 +21,6 @@
fh fh
aria2 aria2
yt-dlp yt-dlp
imv
xdg-utils
obsidian obsidian
vscode vscode
weechat weechat

View File

@ -4,7 +4,6 @@
... ...
}: { }: {
home.packages = lib.mkIf pkgs.stdenv.isDarwin (with pkgs; [ home.packages = lib.mkIf pkgs.stdenv.isDarwin (with pkgs; [
iterm2
discord discord
ollama ollama
]); ]);

View File

@ -7,5 +7,6 @@
imv imv
betterdiscordctl betterdiscordctl
vesktop vesktop
xdg-utils
]); ]);
} }

View File

@ -21,8 +21,6 @@
then "/Users/${userName}" then "/Users/${userName}"
else "/home/${userName}"; else "/home/${userName}";
description = userName; description = userName;
group = "wyatt";
isNormalUser = true;
}; };
users.groups.wyatt = {}; users.groups.wyatt = {};

View File

@ -1,9 +1,10 @@
{ pkgs, lib, ... }:
{ {
pkgs,
lib,
...
}: {
# enable flakes globally # enable flakes globally
nix.settings.experimental-features = [ "nix-command" "flakes" ]; nix.settings.experimental-features = ["nix-command" "flakes"];
# Allow unfree packages # Allow unfree packages
nixpkgs.config.allowUnfree = true; nixpkgs.config.allowUnfree = true;
@ -13,6 +14,7 @@
# Use this instead of services.nix-daemon.enable if you # Use this instead of services.nix-daemon.enable if you
# don't wan't the daemon service to be managed for you. # don't wan't the daemon service to be managed for you.
# nix.useDaemon = true; # nix.useDaemon = true;
services.nix-daemon.enable = true;
nix.package = pkgs.nix; nix.package = pkgs.nix;

View File

@ -4,10 +4,12 @@ These are where the machine specific configurations live.
I like Final Fantasy, alright? Isn't everyone supposed to have a hobby? I like Final Fantasy, alright? Isn't everyone supposed to have a hobby?
## Desktops, Laptops, and Workstations ## Naming schemes
### Desktops, Laptops, and Workstations
These are named after Final Fantasy VII characters. These are named after Final Fantasy VII characters.
## Servers/Network Infrastructure ### Servers/Network Infrastructure
These are named after Final Fantasy summons. These are named after Final Fantasy summons.

View File

@ -155,8 +155,8 @@
# Firewall stuff not allowed in common user and network creation # Firewall stuff not allowed in common user and network creation
networking.firewall.enable = true; # VERY important, do not touch networking.firewall.enable = true; # VERY important, do not touch
# networking.firewall.allowedTCPPorts = []; networking.firewall.allowedTCPPorts = [];
# networking.firewall.allowedUDPPorts = []; networking.firewall.allowedUDPPorts = [];
networking.networkmanager.enable = true; # Linux tool for managing network connections networking.networkmanager.enable = true; # Linux tool for managing network connections
# Enable Flatpak (app containerization) # Enable Flatpak (app containerization)
@ -200,5 +200,10 @@
arguments = "-v -o pw"; arguments = "-v -o pw";
}; };
users.users."${userName}" = {
group = "${userName}";
isNormalUser = true;
};
system.stateVersion = "24.05"; system.stateVersion = "24.05";
} }

View File

@ -1,5 +1,4 @@
{ pkgs, ... }: { {pkgs, ...}: {
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
neovim neovim
git git
@ -19,7 +18,7 @@
# Applications to install from Mac App Store using mas. # Applications to install from Mac App Store using mas.
# You need to install all these Apps manually first so that your apple account have records for them. # You need to install all these Apps manually first so that your apple account have records for them.
# otherwise Apple Store will refuse to install them. # otherwise Apple Store will refuse to install them.
# For details, see https://github.com/mas-cli/mas # For details, see https://github.com/mas-cli/mas
masApps = { masApps = {
Xcode = 497799835; Xcode = 497799835;
"Reeder 5." = 1529448980; "Reeder 5." = 1529448980;

View File

@ -1,4 +1,8 @@
{pkgs, hostname, ...}: { {
pkgs,
hostname,
...
}: {
system = { system = {
# activationScripts are executed every time you boot the system or run `nixos-rebuild` / `darwin-rebuild`. # activationScripts are executed every time you boot the system or run `nixos-rebuild` / `darwin-rebuild`.
activationScripts.postUserActivation.text = '' activationScripts.postUserActivation.text = ''
@ -145,12 +149,11 @@
# }; # };
}; };
networking.hostName = hostname; networking.hostName = hostname;
networking.computerName = hostname; networking.computerName = hostname;
networking.firewall.enable = true; # VERY important, do not touch # networking.firewall.enable = true; # VERY important, do not touch
networking.firewall.allowedTCPPorts = []; # networking.firewall.allowedTCPPorts = [];
networking.firewall.allowedUDPPorts = []; # networking.firewall.allowedUDPPorts = [];
system.defaults.smb.NetBIOSName = hostname; system.defaults.smb.NetBIOSName = hostname;
# Add ability to used TouchID for sudo authentication # Add ability to used TouchID for sudo authentication
@ -165,6 +168,8 @@
pkgs.bash pkgs.bash
]; ];
system.stateVersion = 5;
# Set your time zone. # Set your time zone.
time.timeZone = "America/Detroit"; time.timeZone = "America/Detroit";
} }