fix natalie config so it builds successfully
This commit is contained in:
parent
c0cfb69f27
commit
8bd9e070d0
21 changed files with 210 additions and 152 deletions
35
flake.nix
35
flake.nix
|
@ -2,7 +2,6 @@
|
||||||
description = "New Modular flake!";
|
description = "New Modular flake!";
|
||||||
inputs = {
|
inputs = {
|
||||||
nixpkgs.url = "nixpkgs/nixos-unstable";
|
nixpkgs.url = "nixpkgs/nixos-unstable";
|
||||||
# nixpkgs.url = "github:NixOS/nixpkgs/master";
|
|
||||||
nixpkgs-stable.url = "nixpkgs/nixos-23.11";
|
nixpkgs-stable.url = "nixpkgs/nixos-23.11";
|
||||||
|
|
||||||
home-manager.url = "github:nix-community/home-manager/master";
|
home-manager.url = "github:nix-community/home-manager/master";
|
||||||
|
@ -77,35 +76,19 @@
|
||||||
)
|
)
|
||||||
];
|
];
|
||||||
|
|
||||||
# ----- USER SETTINGS ----- #
|
|
||||||
users.nmarks = rec {
|
|
||||||
#enable if you want to use a tiling wm on macos
|
|
||||||
darwinTiling = true;
|
|
||||||
|
|
||||||
username = "nmarks"; # username
|
|
||||||
name = "Natalie"; # name/identifier
|
|
||||||
email = "nmarks413@gmail.com"; # email (used for certain configurations)
|
|
||||||
dotfilesDir = "~/.dotfiles"; # absolute path of the local repo
|
|
||||||
theme = "catppuccin-mocha"; #name of theme that stylix will use
|
|
||||||
browser = "firefox"; # Default browser; must select one from ./user/app/browser/
|
|
||||||
term = "ghostty"; # Default terminal command;
|
|
||||||
font = "iosevka"; # Selected font
|
|
||||||
editor = "neovim"; # Default editor;
|
|
||||||
spawnEditor = "exec" + term + " -e " + editor;
|
|
||||||
timeZone = "America/Los_Angeles";
|
|
||||||
sexuality = "bisexual";
|
|
||||||
};
|
|
||||||
mkSystem = import ./lib/mkSystem.nix {
|
mkSystem = import ./lib/mkSystem.nix {
|
||||||
inherit overlays nixpkgs inputs;
|
inherit overlays nixpkgs inputs;
|
||||||
};
|
};
|
||||||
in {
|
in rec {
|
||||||
|
# "nix run .#darwin-rebuild"
|
||||||
packages.aarch64-darwin.darwin-rebuild = darwin.packages.aarch64-darwin.darwin-rebuild;
|
packages.aarch64-darwin.darwin-rebuild = darwin.packages.aarch64-darwin.darwin-rebuild;
|
||||||
|
# "nix fmt ."
|
||||||
formatter.x86_64-linux = nixpkgs.legacyPackages.x86_64-linux.alejandra;
|
formatter.x86_64-linux = nixpkgs.legacyPackages.x86_64-linux.alejandra;
|
||||||
formatter.aarch64-darwin = nixpkgs.legacyPackages.aarch64-darwin.alejandra;
|
formatter.aarch64-darwin = nixpkgs.legacyPackages.aarch64-darwin.alejandra;
|
||||||
|
|
||||||
# natalie's desktop computer
|
# natalie's desktop computer
|
||||||
nixosConfigurations.nixos = mkSystem "nixos" {
|
nixosConfigurations.nixos = mkSystem "nixos" {
|
||||||
user = "nmarks";
|
user = "natalie";
|
||||||
host = "desktop";
|
host = "desktop";
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
extraModules = [
|
extraModules = [
|
||||||
|
@ -114,7 +97,7 @@
|
||||||
};
|
};
|
||||||
# natalie's laptop
|
# natalie's laptop
|
||||||
darwinConfigurations."Natalies-MacBook-Air" = mkSystem "Natalies-MacBook-Air" {
|
darwinConfigurations."Natalies-MacBook-Air" = mkSystem "Natalies-MacBook-Air" {
|
||||||
user = "nmarks";
|
user = "natalie";
|
||||||
host = "laptop";
|
host = "laptop";
|
||||||
system = "aarch64-darwin";
|
system = "aarch64-darwin";
|
||||||
};
|
};
|
||||||
|
@ -131,5 +114,13 @@
|
||||||
host = "paperback";
|
host = "paperback";
|
||||||
system = "aarch64-darwin";
|
system = "aarch64-darwin";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# generate checks for "nix flake check --all-systems --no-build"
|
||||||
|
checks.aarch64-darwin = builtins.listToAttrs (builtins.map (name: let
|
||||||
|
d = darwinConfigurations.${name}.system;
|
||||||
|
in {
|
||||||
|
name = "darwinConfiguration-" + d.name;
|
||||||
|
value = d;
|
||||||
|
}) (builtins.attrNames darwinConfigurations));
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -44,24 +44,25 @@
|
||||||
currentSystem = system;
|
currentSystem = system;
|
||||||
# Details about the host machine
|
# Details about the host machine
|
||||||
host = {
|
host = {
|
||||||
inherit darwin;
|
inherit darwin name;
|
||||||
};
|
};
|
||||||
user = ({
|
user = ({
|
||||||
# This acts as formal documentation for what is allowed in user.nix
|
# This acts as formal documentation for what is allowed in user.nix
|
||||||
username, # unix username
|
username, # unix username
|
||||||
name, # your display name
|
name, # your display name
|
||||||
email, # for identity in programs such as git
|
email, # for identity in programs such as git
|
||||||
dotfilesDir, # location to `../.`
|
dotfilesDir, # location to `../.`
|
||||||
timeZone ? "America/Los_Angeles",
|
timeZone ? "America/Los_Angeles",
|
||||||
|
# Stylix/Theming
|
||||||
# Stylix/Theming
|
theme ? null, # theme name for stylix
|
||||||
theme ? null, # theme name for stylix
|
sexuality ? null, # pride flag for hyfetch
|
||||||
sexuality ? null, # pride flag for hyfetch
|
font ? null, # font to use
|
||||||
|
term, # preferred $TERM
|
||||||
term, # preferred $TERM
|
editor, # preferred $EDITOR
|
||||||
editor, # preferred $EDITOR
|
browser ? null, # preferred $BROWSER
|
||||||
browser ? null, # preferred $BROWSER
|
} @ user:
|
||||||
}@user: user) userConfig;
|
user)
|
||||||
|
userConfig;
|
||||||
};
|
};
|
||||||
systemSettings = rec {
|
systemSettings = rec {
|
||||||
inherit darwin;
|
inherit darwin;
|
||||||
|
|
|
@ -69,7 +69,8 @@ in {
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
shellAliases =
|
shellAliases =
|
||||||
{ } // lib.optionalAttrs (!host.darwin) {
|
{}
|
||||||
|
// lib.optionalAttrs (!host.darwin) {
|
||||||
reboot-windows = "sudo efibootmgr --bootnext 0000; sudo reboot -h now";
|
reboot-windows = "sudo efibootmgr --bootnext 0000; sudo reboot -h now";
|
||||||
};
|
};
|
||||||
shellInit = ''
|
shellInit = ''
|
||||||
|
|
|
@ -8,6 +8,13 @@
|
||||||
./mac-app-store.nix
|
./mac-app-store.nix
|
||||||
./system.nix
|
./system.nix
|
||||||
./icons.nix
|
./icons.nix
|
||||||
|
./tiling
|
||||||
# sort-lines: end
|
# sort-lines: end
|
||||||
];
|
];
|
||||||
|
# make 'shared.linux' not an error to define.
|
||||||
|
options.shared.linux = lib.mkOption {
|
||||||
|
type = lib.types.anything;
|
||||||
|
default = {};
|
||||||
|
description = "no-op on darwin";
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,7 +3,9 @@
|
||||||
pkgs,
|
pkgs,
|
||||||
lib,
|
lib,
|
||||||
...
|
...
|
||||||
}: {
|
}: let
|
||||||
|
tiling = config.shared.darwin.tiling.enable;
|
||||||
|
in {
|
||||||
# Use touchid or watch to activate sudo
|
# Use touchid or watch to activate sudo
|
||||||
security.pam.services.sudo_local = {
|
security.pam.services.sudo_local = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
@ -51,8 +53,8 @@
|
||||||
NSDocumentSaveNewDocumentsToCloud = false;
|
NSDocumentSaveNewDocumentsToCloud = false;
|
||||||
AppleICUForce24HourTime = true;
|
AppleICUForce24HourTime = true;
|
||||||
|
|
||||||
#Autohide menu bar
|
# Autohide menu bar for tiling window manager
|
||||||
#_HIHideMenuBar = config.shared.darwin.tiling;
|
_HIHideMenuBar = tiling;
|
||||||
};
|
};
|
||||||
# minimal dock
|
# minimal dock
|
||||||
dock = {
|
dock = {
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{pkgs, ...}: {
|
{config,pkgs, ...}: {
|
||||||
services.aerospace = {
|
services.aerospace = {
|
||||||
enable = true;
|
enable = config.shared.darwin.tiling.enable;
|
||||||
settings = {
|
settings = {
|
||||||
# Normalizations. See: https://nikitabobko.github.io/AeroSpace/guide#normalization
|
# Normalizations. See: https://nikitabobko.github.io/AeroSpace/guide#normalization
|
||||||
enable-normalization-flatten-containers = true;
|
enable-normalization-flatten-containers = true;
|
||||||
|
|
|
@ -1,2 +1,16 @@
|
||||||
{pkgs, ...}: {
|
{ lib, ... }: let
|
||||||
|
inherit (lib) types;
|
||||||
|
in {
|
||||||
|
imports = [
|
||||||
|
./sketchybar.nix
|
||||||
|
./aerospace.nix
|
||||||
|
];
|
||||||
|
options = {
|
||||||
|
shared.darwin.tiling.enable = lib.mkOption {
|
||||||
|
type = types.bool;
|
||||||
|
default = false;
|
||||||
|
example = true;
|
||||||
|
description = "Enable tiling window management.";
|
||||||
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{pkgs, ...}: {
|
{config,pkgs, ...}: {
|
||||||
services.sketchybar = {
|
services.sketchybar = {
|
||||||
enable = true;
|
enable = config.shared.darwin.tiling.enable;
|
||||||
config = ''
|
config = ''
|
||||||
# This is a demo config to showcase some of the most important commands.
|
# This is a demo config to showcase some of the most important commands.
|
||||||
# It is meant to be changed and configured, as it is intentionally kept sparse.
|
# It is meant to be changed and configured, as it is intentionally kept sparse.
|
||||||
|
|
|
@ -1,8 +1,14 @@
|
||||||
{pkgs, ...}: {
|
{ lib, pkgs, ... }: {
|
||||||
imports = [
|
imports = [
|
||||||
./boot.nix
|
./boot.nix
|
||||||
./ld.nix
|
./ld.nix
|
||||||
./nvidia.nix
|
./nvidia.nix
|
||||||
./services.nix
|
./services.nix
|
||||||
];
|
];
|
||||||
|
# make 'shared.darwin' not an error to define.
|
||||||
|
options.shared.darwin = lib.mkOption {
|
||||||
|
type = lib.types.anything;
|
||||||
|
default = {};
|
||||||
|
description = "no-op on linux";
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,14 +1,21 @@
|
||||||
# applies user settings for the system
|
# applies user settings for the system
|
||||||
{ pkgs, user, lib, ... }: {
|
{
|
||||||
|
pkgs,
|
||||||
|
user,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
# Set your time zone.
|
# Set your time zone.
|
||||||
time.timeZone = user.timeZone;
|
time.timeZone = user.timeZone;
|
||||||
|
|
||||||
home-manager.users.${user.username}.home.sessionVariables = {
|
home-manager.users.${user.username}.home.sessionVariables =
|
||||||
EDITOR = user.editor;
|
{
|
||||||
TERMINAL = user.term;
|
EDITOR = user.editor;
|
||||||
} // lib.optionalAttrs (user ? "browser") {
|
TERMINAL = user.term;
|
||||||
BROWSER = user.browser;
|
}
|
||||||
};
|
// lib.optionalAttrs (user ? "browser") {
|
||||||
|
BROWSER = user.browser;
|
||||||
|
};
|
||||||
|
|
||||||
stylix = {
|
stylix = {
|
||||||
enable = false;
|
enable = false;
|
||||||
|
|
29
readme.md
29
readme.md
|
@ -1,10 +1,35 @@
|
||||||
# nix config
|
# nix config
|
||||||
|
|
||||||
meow.
|
this setup allows natalie and chloe to share common configuration between their machines, but also share useful modules between each other.
|
||||||
|
|
||||||
|
```
|
||||||
|
lib/ # reusable functions
|
||||||
|
modules/ # reusable modules
|
||||||
|
+-- macos/ # nix-darwin configurations
|
||||||
|
+-- nixos/ # linux configurations
|
||||||
|
+-- nixvim/ # neovim configurations
|
||||||
|
+-- shared/ # shared between nixos-rebuild & nixos-rebuild
|
||||||
|
+-- home-manager.nix # home program presets
|
||||||
|
users/
|
||||||
|
+-- chloe/
|
||||||
|
| +-- user.nix # info about her
|
||||||
|
| +-- configuration.nix # for all hosts
|
||||||
|
| +-- home.nix # for all hosts
|
||||||
|
| +-- sandwich/
|
||||||
|
| | +-- configuration.nix # per host
|
||||||
|
| | +-- home.nix
|
||||||
|
| +-- paperback/
|
||||||
|
| ...
|
||||||
|
+-- natalie/
|
||||||
|
+-- user.nix # info about her
|
||||||
|
...
|
||||||
|
```
|
||||||
|
|
||||||
|
A new machine can be added by adding a new definition in `flake.nix`. Note that the user and host `configuration.nix` and `home.nix` files are
|
||||||
|
|
||||||
## macOS installation instructions
|
## macOS installation instructions
|
||||||
|
|
||||||
Install Nix using the upstream nix (Pick "no" then "yes):
|
Install Nix using the upstream Nix (Pick "no" then "yes):
|
||||||
|
|
||||||
```
|
```
|
||||||
curl --proto '=https' --tlsv1.2 -sSf -L https://install.determinate.systems/nix | \
|
curl --proto '=https' --tlsv1.2 -sSf -L https://install.determinate.systems/nix | \
|
||||||
|
|
|
@ -1,18 +1,18 @@
|
||||||
# Configuration applied to all of chloe's machines
|
# Configuration applied to all of chloe's machines
|
||||||
{
|
{ pkgs, ... }: {
|
||||||
pkgs,
|
# packages for all machines
|
||||||
userSettings,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
neovim
|
neovim
|
||||||
];
|
];
|
||||||
|
# configuration for shared modules.
|
||||||
|
# all custom options in 'shared' for clarity.
|
||||||
shared.darwin = {
|
shared.darwin = {
|
||||||
macAppStoreApps = [
|
macAppStoreApps = [
|
||||||
"adguard"
|
"adguard"
|
||||||
"magnet"
|
"magnet"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
# system preferences
|
||||||
system.defaults = {
|
system.defaults = {
|
||||||
NSGlobalDomain = {
|
NSGlobalDomain = {
|
||||||
KeyRepeat = 1;
|
KeyRepeat = 1;
|
||||||
|
|
|
@ -14,5 +14,5 @@
|
||||||
|
|
||||||
# Default terminal command. NOTE: ghostty is not installed for you
|
# Default terminal command. NOTE: ghostty is not installed for you
|
||||||
term = "ghostty"; # preferred $TERMINAL
|
term = "ghostty"; # preferred $TERMINAL
|
||||||
editor = "nvim"; # preferred $EDITOR
|
editor = "nvim"; # preferred $EDITOR
|
||||||
}
|
}
|
||||||
|
|
|
@ -1 +1,17 @@
|
||||||
services.tailscale.enable = true;
|
# Applied to all systems
|
||||||
|
{pkgs, ...}: {
|
||||||
|
services.tailscale.enable = true;
|
||||||
|
fonts.packages = with pkgs; [
|
||||||
|
nerd-fonts.fira-code
|
||||||
|
nerd-fonts.iosevka
|
||||||
|
iosevka
|
||||||
|
nerd-fonts.symbols-only
|
||||||
|
nerd-fonts.iosevka
|
||||||
|
];
|
||||||
|
|
||||||
|
# configuration for shared modules.
|
||||||
|
# all custom options in 'shared' for clarity.
|
||||||
|
shared.darwin = {
|
||||||
|
tiling.enable = true; # use tiling window manager
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
pkgs,
|
pkgs,
|
||||||
userSettings,
|
user,
|
||||||
systemSettings,
|
host,
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
imports = [
|
imports = [
|
||||||
|
@ -16,7 +16,7 @@
|
||||||
enable = true;
|
enable = true;
|
||||||
# Certain features, including CLI integration and system authentication support,
|
# Certain features, including CLI integration and system authentication support,
|
||||||
# require enabling PolKit integration on some desktop environments (e.g. Plasma).
|
# require enabling PolKit integration on some desktop environments (e.g. Plasma).
|
||||||
polkitPolicyOwners = [userSettings.username];
|
polkitPolicyOwners = [user.username];
|
||||||
};
|
};
|
||||||
|
|
||||||
noisetorch.enable = true;
|
noisetorch.enable = true;
|
||||||
|
@ -75,7 +75,7 @@
|
||||||
libvirtd.enable = true;
|
libvirtd.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
nix.settings.trusted-users = ["root" userSettings.username];
|
nix.settings.trusted-users = ["root" user.username];
|
||||||
systemd = {
|
systemd = {
|
||||||
targets = {
|
targets = {
|
||||||
sleep.enable = false;
|
sleep.enable = false;
|
||||||
|
@ -129,10 +129,10 @@
|
||||||
|
|
||||||
# Define a user account. Don't forget to set a password with ‘passwd’.
|
# Define a user account. Don't forget to set a password with ‘passwd’.
|
||||||
# users.defaultUserShell = pkgs.fish;
|
# users.defaultUserShell = pkgs.fish;
|
||||||
users.users.${userSettings.username} = {
|
users.users.${user.username} = {
|
||||||
shell = pkgs.fish;
|
shell = pkgs.fish;
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
description = "Natalie Marks";
|
description = user.name;
|
||||||
extraGroups = ["networkmanager" "wheel" "docker"];
|
extraGroups = ["networkmanager" "wheel" "docker"];
|
||||||
# openssh.authorizedKeys.keyFiles = ["~/.ssh/id_ed25519.pub"];
|
# openssh.authorizedKeys.keyFiles = ["~/.ssh/id_ed25519.pub"];
|
||||||
packages = with pkgs; [
|
packages = with pkgs; [
|
||||||
|
@ -153,7 +153,7 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
networking = {
|
networking = {
|
||||||
hostName = systemSettings.host; # Define your hostname.
|
hostName = host.name; # Define your hostname.
|
||||||
# wireless.enable = true; # Enables wireless support via wpa_supplicant.
|
# wireless.enable = true; # Enables wireless support via wpa_supplicant.
|
||||||
networkmanager.enable = true;
|
networkmanager.enable = true;
|
||||||
firewall = {
|
firewall = {
|
||||||
|
|
|
@ -6,9 +6,7 @@
|
||||||
userSettings,
|
userSettings,
|
||||||
systemSettings,
|
systemSettings,
|
||||||
...
|
...
|
||||||
}: let
|
}: {
|
||||||
shared-programs = import ../../modules/shared/homeManagerPrograms.nix {inherit inputs config pkgs lib userSettings systemSettings;};
|
|
||||||
in {
|
|
||||||
imports = [
|
imports = [
|
||||||
inputs.nixvim.homeManagerModules.nixvim
|
inputs.nixvim.homeManagerModules.nixvim
|
||||||
#set up nixvim
|
#set up nixvim
|
||||||
|
@ -17,56 +15,48 @@ in {
|
||||||
home = {
|
home = {
|
||||||
stateVersion = "23.05"; # Please read the comment before changing.
|
stateVersion = "23.05"; # Please read the comment before changing.
|
||||||
|
|
||||||
packages = with pkgs; let
|
packages = with pkgs; [
|
||||||
shared-packages = import ../../modules/shared/packages.nix {inherit pkgs systemSettings;};
|
#building macos apps hard :(
|
||||||
in
|
ghostty
|
||||||
shared-packages
|
stremio
|
||||||
++ [
|
julia
|
||||||
#building macos apps hard :(
|
qbittorrent
|
||||||
ghostty
|
|
||||||
stremio
|
|
||||||
julia
|
|
||||||
qbittorrent
|
|
||||||
|
|
||||||
#gaming
|
#gaming
|
||||||
bottles
|
bottles
|
||||||
lutris
|
lutris
|
||||||
mangohud
|
mangohud
|
||||||
dxvk_2
|
dxvk_2
|
||||||
steam-run
|
steam-run
|
||||||
vulkan-tools
|
vulkan-tools
|
||||||
path-of-building
|
path-of-building
|
||||||
wineWowPackages.stable
|
wineWowPackages.stable
|
||||||
winetricks
|
winetricks
|
||||||
(prismlauncher.override {gamemodeSupport = true;})
|
(prismlauncher.override {gamemodeSupport = true;})
|
||||||
|
|
||||||
#window manager stuff
|
#window manager stuff
|
||||||
wofi
|
wofi
|
||||||
xorg.xauth
|
xorg.xauth
|
||||||
#linux tools
|
#linux tools
|
||||||
legcord
|
legcord
|
||||||
pavucontrol
|
pavucontrol
|
||||||
ethtool
|
ethtool
|
||||||
grub2
|
grub2
|
||||||
efibootmgr
|
efibootmgr
|
||||||
distrobox
|
distrobox
|
||||||
xdg-desktop-portal-gtk
|
xdg-desktop-portal-gtk
|
||||||
xclip
|
xclip
|
||||||
kdePackages.dolphin
|
kdePackages.dolphin
|
||||||
#broken on macos
|
#broken on macos
|
||||||
calibre
|
calibre
|
||||||
mpv
|
mpv
|
||||||
wireguard-tools
|
wireguard-tools
|
||||||
signal-desktop
|
signal-desktop
|
||||||
]
|
inputs.zls.packages.x86_64-linux.zls
|
||||||
++ [
|
rust-bin.stable.latest.default
|
||||||
inputs.zls.packages.x86_64-linux.zls
|
];
|
||||||
rust-bin.stable.latest.default
|
|
||||||
];
|
|
||||||
# programs.mangohud.enable = true;
|
# programs.mangohud.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
programs = shared-programs;
|
|
||||||
|
|
||||||
# xdg.mimeApps.defaultApplications."inode/directory" = "dolphin.desktop";
|
# xdg.mimeApps.defaultApplications."inode/directory" = "dolphin.desktop";
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,19 +1,16 @@
|
||||||
{
|
{
|
||||||
pkgs,
|
pkgs,
|
||||||
lib,
|
lib,
|
||||||
}: {
|
...
|
||||||
# sort-lines:start
|
} @ args: {
|
||||||
atuin.enable = true;
|
programs = {
|
||||||
bat.enable = true;
|
# sort-lines:start
|
||||||
hyfetch.enable = true;
|
atuin.enable = true;
|
||||||
direnv.enable = true;
|
bat.enable = true;
|
||||||
# sort-lines:end
|
hyfetch.enable = true;
|
||||||
|
direnv.enable = true;
|
||||||
|
# sort-lines:end
|
||||||
|
};
|
||||||
|
|
||||||
fonts.packages = with pkgs; [
|
home.packages = import ./packages.nix args;
|
||||||
nerd-fonts.fira-code
|
|
||||||
nerd-fonts.iosevka
|
|
||||||
iosevka
|
|
||||||
nerd-fonts.symbols-only
|
|
||||||
nerd-fonts.iosevka
|
|
||||||
];
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,8 +1,4 @@
|
||||||
{
|
{pkgs, ...}: {
|
||||||
pkgs,
|
|
||||||
userSettings,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
neovim
|
neovim
|
||||||
pinentry_mac
|
pinentry_mac
|
||||||
|
|
|
@ -3,8 +3,8 @@
|
||||||
config,
|
config,
|
||||||
pkgs,
|
pkgs,
|
||||||
lib,
|
lib,
|
||||||
userSettings,
|
user,
|
||||||
systemSettings,
|
host,
|
||||||
...
|
...
|
||||||
} @ args: {
|
} @ args: {
|
||||||
imports = [
|
imports = [
|
||||||
|
@ -12,14 +12,9 @@
|
||||||
#set up nixvim
|
#set up nixvim
|
||||||
# ../../modules/nixvim
|
# ../../modules/nixvim
|
||||||
];
|
];
|
||||||
programs = import ./home-programs.nix args;
|
|
||||||
|
|
||||||
home = {
|
home = {
|
||||||
inherit (userSettings) username;
|
|
||||||
# shell = pkgs.fish;
|
|
||||||
stateVersion = "23.05"; # Please read the comment before changing.
|
stateVersion = "23.05"; # Please read the comment before changing.
|
||||||
|
# shell = pkgs.fish;
|
||||||
packages = pkgs.callPackage ../../modules/shared/packages.nix {inherit systemSettings;};
|
|
||||||
|
|
||||||
sessionPath = [
|
sessionPath = [
|
||||||
"$HOME/.emacs.d/bin"
|
"$HOME/.emacs.d/bin"
|
||||||
|
|
|
@ -1,8 +1,5 @@
|
||||||
{
|
# Packages installed with home-manager
|
||||||
pkgs,
|
{pkgs, ...}:
|
||||||
systemSettings,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
with pkgs; [
|
with pkgs; [
|
||||||
#general development
|
#general development
|
||||||
just
|
just
|
||||||
|
|
13
users/natalie/user.nix
Normal file
13
users/natalie/user.nix
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
rec {
|
||||||
|
username = "nmarks"; # username
|
||||||
|
name = "Natalie"; # name/identifier
|
||||||
|
email = "nmarks413@gmail.com"; # email (used for certain configurations)
|
||||||
|
dotfilesDir = "~/.dotfiles"; # absolute path of the local repo
|
||||||
|
theme = "catppuccin-mocha"; #name of theme that stylix will use
|
||||||
|
browser = "firefox"; # Default browser; must select one from ./user/app/browser/
|
||||||
|
term = "ghostty"; # Default terminal command;
|
||||||
|
font = "iosevka"; # Selected font
|
||||||
|
editor = "neovim"; # Default editor;
|
||||||
|
timeZone = "America/Los_Angeles";
|
||||||
|
sexuality = "bisexual";
|
||||||
|
}
|
Loading…
Reference in a new issue