initial macos system
This commit is contained in:
parent
63ee4338e5
commit
ba4ac3053c
11 changed files with 166 additions and 32 deletions
27
flake.lock
27
flake.lock
|
@ -229,6 +229,26 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"nix-darwin": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1736085891,
|
||||||
|
"narHash": "sha256-bTl9fcUo767VaSx4Q5kFhwiDpFQhBKna7lNbGsqCQiA=",
|
||||||
|
"owner": "LnL7",
|
||||||
|
"repo": "nix-darwin",
|
||||||
|
"rev": "ba9b3173b0f642ada42b78fb9dfc37ca82266f6c",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "LnL7",
|
||||||
|
"repo": "nix-darwin",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"nix-flatpak": {
|
"nix-flatpak": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1734128415,
|
"lastModified": 1734128415,
|
||||||
|
@ -282,11 +302,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1735834308,
|
"lastModified": 1736012469,
|
||||||
"narHash": "sha256-dklw3AXr3OGO4/XT1Tu3Xz9n/we8GctZZ75ZWVqAVhk=",
|
"narHash": "sha256-/qlNWm/IEVVH7GfgAIyP6EsVZI6zjAx1cV5zNyrs+rI=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "6df24922a1400241dae323af55f30e4318a6ca65",
|
"rev": "8f3e1f807051e32d8c95cd12b9b421623850a34d",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -353,6 +373,7 @@
|
||||||
"apple-fonts": "apple-fonts",
|
"apple-fonts": "apple-fonts",
|
||||||
"catppuccin": "catppuccin",
|
"catppuccin": "catppuccin",
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
|
"nix-darwin": "nix-darwin",
|
||||||
"nix-flatpak": "nix-flatpak",
|
"nix-flatpak": "nix-flatpak",
|
||||||
"nix-index-database": "nix-index-database",
|
"nix-index-database": "nix-index-database",
|
||||||
"nixos-facter-modules": "nixos-facter-modules",
|
"nixos-facter-modules": "nixos-facter-modules",
|
||||||
|
|
48
flake.nix
48
flake.nix
|
@ -22,6 +22,9 @@
|
||||||
|
|
||||||
nix-index-database.url = "github:nix-community/nix-index-database";
|
nix-index-database.url = "github:nix-community/nix-index-database";
|
||||||
nix-index-database.inputs.nixpkgs.follows = "nixpkgs";
|
nix-index-database.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
|
||||||
|
nix-darwin.url = "github:LnL7/nix-darwin";
|
||||||
|
nix-darwin.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
outputs = inputs @ {
|
outputs = inputs @ {
|
||||||
self,
|
self,
|
||||||
|
@ -32,6 +35,7 @@
|
||||||
alejandra,
|
alejandra,
|
||||||
nix-flatpak,
|
nix-flatpak,
|
||||||
nix-index-database,
|
nix-index-database,
|
||||||
|
nix-darwin,
|
||||||
...
|
...
|
||||||
}: let
|
}: let
|
||||||
modules = {
|
modules = {
|
||||||
|
@ -45,6 +49,9 @@
|
||||||
wahnix = [
|
wahnix = [
|
||||||
./hardware/devices/wahnix.nix
|
./hardware/devices/wahnix.nix
|
||||||
];
|
];
|
||||||
|
m1mbp = [
|
||||||
|
./hardware/devices/m1mbp.nix
|
||||||
|
];
|
||||||
};
|
};
|
||||||
drivers = {
|
drivers = {
|
||||||
controllers = {
|
controllers = {
|
||||||
|
@ -74,6 +81,9 @@
|
||||||
base = [
|
base = [
|
||||||
./system/nix.nix
|
./system/nix.nix
|
||||||
];
|
];
|
||||||
|
linux = [
|
||||||
|
./system/linux.nix
|
||||||
|
];
|
||||||
desktops = {
|
desktops = {
|
||||||
apps = [
|
apps = [
|
||||||
./system/desktop/apps.nix
|
./system/desktop/apps.nix
|
||||||
|
@ -163,15 +173,18 @@
|
||||||
};
|
};
|
||||||
in {
|
in {
|
||||||
packages.x86_64-linux.nerd-fonts-sf-mono-ligatures = nixpkgs.legacyPackages.x86_64-linux.callPackage ./pkgs/fonts/nerd-fonts-sf-mono-ligatures.nix {};
|
packages.x86_64-linux.nerd-fonts-sf-mono-ligatures = nixpkgs.legacyPackages.x86_64-linux.callPackage ./pkgs/fonts/nerd-fonts-sf-mono-ligatures.nix {};
|
||||||
|
packages.aarch64-darwin.nerd-fonts-sf-mono-ligatures = nixpkgs.legacyPackages.aarch64-darwin.callPackage ./pkgs/fonts/nerd-fonts-sf-mono-ligatures.nix {};
|
||||||
|
|
||||||
nixosConfigurations = {
|
nixosConfigurations = {
|
||||||
wahnix = nixpkgs.lib.nixosSystem {
|
wahnix = nixpkgs.lib.nixosSystem {
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
specialArgs = {
|
specialArgs = {
|
||||||
inherit inputs;
|
inherit inputs;
|
||||||
|
inherit self;
|
||||||
};
|
};
|
||||||
modules =
|
modules =
|
||||||
modules.nixos.base
|
modules.nixos.base
|
||||||
|
++ modules.nixos.linux
|
||||||
++ modules.nixos.desktops.apps
|
++ modules.nixos.desktops.apps
|
||||||
++ modules.nixos.desktops.displaymanagers.tuigreet
|
++ modules.nixos.desktops.displaymanagers.tuigreet
|
||||||
++ modules.nixos.desktops.environments.hyprland
|
++ modules.nixos.desktops.environments.hyprland
|
||||||
|
@ -223,7 +236,40 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
formatter.aarch64-linux = alejandra.defaultPackage.aarch64-linux;
|
darwinConfigurations."Daryls-MacBook-Pro" = nix-darwin.lib.darwinSystem {
|
||||||
|
system = "aarch64-darwin";
|
||||||
|
specialArgs = {
|
||||||
|
inherit inputs;
|
||||||
|
inherit self;
|
||||||
|
};
|
||||||
|
modules =
|
||||||
|
modules.nixos.base
|
||||||
|
++ modules.nixos.users.relms
|
||||||
|
++ modules.hardware.devices.m1mbp
|
||||||
|
++ [
|
||||||
|
home-manager.darwinModules.home-manager
|
||||||
|
{
|
||||||
|
home-manager.useGlobalPkgs = true;
|
||||||
|
home-manager.useUserPackages = true;
|
||||||
|
home-manager.extraSpecialArgs = {
|
||||||
|
inherit self;
|
||||||
|
inherit inputs;
|
||||||
|
};
|
||||||
|
home-manager.users.relms = {
|
||||||
|
imports =
|
||||||
|
modules.home.users.relms
|
||||||
|
++ modules.home.cli.development
|
||||||
|
++ modules.home.cli.shell
|
||||||
|
++ [
|
||||||
|
nix-index-database.hmModules.nix-index
|
||||||
|
catppuccin.homeManagerModules.catppuccin
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
formatter.aarch64-darwin = alejandra.defaultPackage.aarch64-darwin;
|
||||||
formatter.x86_64-linux = alejandra.defaultPackage.x86_64-linux;
|
formatter.x86_64-linux = alejandra.defaultPackage.x86_64-linux;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
27
hardware/devices/m1mbp.nix
Normal file
27
hardware/devices/m1mbp.nix
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
{
|
||||||
|
self,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
services.nix-daemon.enable = true;
|
||||||
|
programs.gnupg.agent.enable = true;
|
||||||
|
programs.gnupg.agent.enableSSHSupport = true;
|
||||||
|
|
||||||
|
fonts.packages = [self.packages.${pkgs.system}.nerd-fonts-sf-mono-ligatures];
|
||||||
|
|
||||||
|
system.defaults = {
|
||||||
|
finder = {
|
||||||
|
AppleShowAllExtensions = true;
|
||||||
|
ShowPathbar = true;
|
||||||
|
FXEnableExtensionChangeWarning = false;
|
||||||
|
AppleShowAllFiles = true;
|
||||||
|
FXPreferredViewStyle = "Nlsv";
|
||||||
|
_FXSortFoldersFirst = true;
|
||||||
|
_FXSortFoldersFirstOnDesktop = true;
|
||||||
|
ShowStatusBar = true;
|
||||||
|
NewWindowTarget = "Home";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
nixpkgs.hostPlatform = "aarch64-darwin";
|
||||||
|
}
|
|
@ -12,5 +12,7 @@
|
||||||
options = ["fmask=0022" "dmask=0022"];
|
options = ["fmask=0022" "dmask=0022"];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
hardware.enableRedistributableFirmware = true;
|
||||||
|
|
||||||
nixpkgs.hostPlatform = "x86_64-linux";
|
nixpkgs.hostPlatform = "x86_64-linux";
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,14 @@
|
||||||
{pkgs, ...}: {
|
{
|
||||||
|
self,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
programs.git = {
|
programs.git = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.gitAndTools.gitFull;
|
package =
|
||||||
|
if pkgs.stdenv.hostPlatform.system == "x86_64-linux"
|
||||||
|
then pkgs.gitAndTools.gitFull
|
||||||
|
else pkgs.git;
|
||||||
userEmail = "relms@relms.dev";
|
userEmail = "relms@relms.dev";
|
||||||
userName = "Daryl Ronningen";
|
userName = "Daryl Ronningen";
|
||||||
delta = {
|
delta = {
|
||||||
|
@ -65,7 +72,10 @@
|
||||||
enableFishIntegration = true;
|
enableFishIntegration = true;
|
||||||
enableScDaemon = true;
|
enableScDaemon = true;
|
||||||
enableSshSupport = true;
|
enableSshSupport = true;
|
||||||
pinentryPackage = pkgs.pinentry-rofi;
|
pinentryPackage =
|
||||||
|
if pkgs.stdenv.hostPlatform.system == "x86_64-linux"
|
||||||
|
then pkgs.pinentry-rofi
|
||||||
|
else pkgs.pinentry_mac;
|
||||||
};
|
};
|
||||||
|
|
||||||
catppuccin = {
|
catppuccin = {
|
||||||
|
|
|
@ -23,8 +23,11 @@
|
||||||
shellAliases = {
|
shellAliases = {
|
||||||
ls = "eza -laghHUum@ --sort name --group-directories-first --git --icons";
|
ls = "eza -laghHUum@ --sort name --group-directories-first --git --icons";
|
||||||
tree = "eza -laghHUumRT@ --sort name --group-directories-first --git --icons";
|
tree = "eza -laghHUumRT@ --sort name --group-directories-first --git --icons";
|
||||||
nixos-rebuild = "sudo nixos-rebuild --flake ~/git/flake#wahnix";
|
cat = "bat";
|
||||||
};
|
};
|
||||||
|
interactiveShellInit = ''
|
||||||
|
source /Users/relms/.iterm2_shell_integration.fish
|
||||||
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
programs.starship = {
|
programs.starship = {
|
||||||
|
|
|
@ -1,6 +1,9 @@
|
||||||
{
|
{pkgs, ...}: {
|
||||||
home.username = "relms";
|
home.username = "relms";
|
||||||
home.homeDirectory = "/home/relms";
|
home.homeDirectory =
|
||||||
|
if pkgs.stdenv.hostPlatform.system == "x86_64-linux"
|
||||||
|
then "/home/relms"
|
||||||
|
else "/Users/relms";
|
||||||
|
|
||||||
home.stateVersion = "24.11";
|
home.stateVersion = "24.11";
|
||||||
|
|
||||||
|
|
|
@ -92,6 +92,6 @@ in
|
||||||
description = "Monospaced variant of San Francisco patched with Nerd Fonts and Fira Code ligatures";
|
description = "Monospaced variant of San Francisco patched with Nerd Fonts and Fira Code ligatures";
|
||||||
license = "proprietary";
|
license = "proprietary";
|
||||||
maintainers = ["relms"];
|
maintainers = ["relms"];
|
||||||
platforms = ["x86_64-linux" "aarch64-linux"];
|
platforms = ["x86_64-linux" "aarch64-darwin"];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
12
system/linux.nix
Normal file
12
system/linux.nix
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
{pkgs, ...}: {
|
||||||
|
system.replaceDependencies = {
|
||||||
|
replacements = [
|
||||||
|
{
|
||||||
|
oldDependency = pkgs.gtk4;
|
||||||
|
newDependency = pkgs.callPackage ../pkgs/libraries/gtk4.nix {};
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.command-not-found.enable = false;
|
||||||
|
}
|
|
@ -4,8 +4,15 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
nix = {
|
nix = {
|
||||||
|
optimise.automatic =
|
||||||
|
if pkgs.stdenv.hostPlatform.system == "aarch64-darwin"
|
||||||
|
then true
|
||||||
|
else false;
|
||||||
settings = {
|
settings = {
|
||||||
auto-optimise-store = true;
|
auto-optimise-store =
|
||||||
|
if pkgs.stdenv.hostPlatform.system == "x86_64-linux"
|
||||||
|
then true
|
||||||
|
else false;
|
||||||
trusted-users = ["root" "relms"];
|
trusted-users = ["root" "relms"];
|
||||||
};
|
};
|
||||||
extraOptions = ''
|
extraOptions = ''
|
||||||
|
@ -13,16 +20,8 @@
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
hardware.enableRedistributableFirmware = true;
|
system.stateVersion =
|
||||||
|
if pkgs.stdenv.isLinux
|
||||||
system.replaceDependencies = {
|
then "24.11"
|
||||||
replacements = [
|
else 5;
|
||||||
{
|
|
||||||
oldDependency = pkgs.gtk4;
|
|
||||||
newDependency = pkgs.callPackage ../pkgs/libraries/gtk4.nix {};
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
system.stateVersion = "24.11";
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,15 +1,26 @@
|
||||||
{pkgs, ...}: {
|
{pkgs, ...}: {
|
||||||
users.users.relms = {
|
users.users.relms =
|
||||||
|
if pkgs.stdenv.isLinux
|
||||||
|
then {
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
description = "Daryl Ronningen";
|
description = "Daryl Ronningen";
|
||||||
extraGroups = ["networkmanager" "wheel"];
|
extraGroups = ["networkmanager" "wheel"];
|
||||||
shell = pkgs.fish;
|
shell = pkgs.fish;
|
||||||
hashedPassword = "$y$j9T$fiNCczxfgXQRoDCYlRlgy.$8GVAPknKhtp0kq6g9YnJCaAU1GxE9W9puogCXLLYD2/";
|
hashedPassword = "$y$j9T$fiNCczxfgXQRoDCYlRlgy.$8GVAPknKhtp0kq6g9YnJCaAU1GxE9W9puogCXLLYD2/";
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
description = "Daryl Ronningen";
|
||||||
|
shell = pkgs.fish;
|
||||||
|
home = "/Users/relms";
|
||||||
};
|
};
|
||||||
|
|
||||||
programs.fish.enable = true;
|
programs.fish.enable = true;
|
||||||
|
programs.zsh.enable = true;
|
||||||
|
|
||||||
programs.command-not-found.enable = false;
|
environment.shells =
|
||||||
|
if pkgs.stdenv.hostPlatform.system == "aarch64-darwin"
|
||||||
|
then [pkgs.fish]
|
||||||
|
else [];
|
||||||
|
|
||||||
time.timeZone = "America/Los_Angeles";
|
time.timeZone = "America/Los_Angeles";
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue