move home packages into system packages

This commit is contained in:
Natalie 2025-04-21 10:25:32 -07:00
parent 4f015f806d
commit 0f3e214767
No known key found for this signature in database
GPG key ID: 61F4EAEB0C9C3D5F
14 changed files with 389 additions and 433 deletions

View file

@ -20,11 +20,11 @@
]
},
"locked": {
"lastModified": 1743265529,
"narHash": "sha256-QbjP15/2N+VJl0b5jxrrTc+VOt39aU4XrDvtP0Lz5ik=",
"lastModified": 1744289235,
"narHash": "sha256-ZFkHLdimtFzQACsVVyZkZlfYdj4iNy3PkzXfrwmlse8=",
"owner": "hyprwm",
"repo": "aquamarine",
"rev": "1d2dbd72c2bbaceab031c592d4810f744741d203",
"rev": "c8282f4982b56dfa5e9b9f659809da93f8d37e7a",
"type": "github"
},
"original": {
@ -61,11 +61,11 @@
]
},
"locked": {
"lastModified": 1743496612,
"narHash": "sha256-emPWa5lmKbnyuj8c1mSJUkzJNT+iJoU9GMcXwjp2oVM=",
"lastModified": 1744478979,
"narHash": "sha256-dyN+teG9G82G+m+PX/aSAagkC+vUv0SgUw3XkPhQodQ=",
"owner": "lnl7",
"repo": "nix-darwin",
"rev": "73d59580d01e9b9f957ba749f336a272869c42dd",
"rev": "43975d782b418ebf4969e9ccba82466728c2851b",
"type": "github"
},
"original": {
@ -161,24 +161,6 @@
"inputs": {
"systems": "systems_3"
},
"locked": {
"lastModified": 1701680307,
"narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "4022d587cbbfd70fe950c1e2083a02621806a725",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"flake-utils_3": {
"inputs": {
"systems": "systems_4"
},
"locked": {
"lastModified": 1731533236,
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
@ -193,9 +175,9 @@
"type": "github"
}
},
"flake-utils_4": {
"flake-utils_3": {
"inputs": {
"systems": "systems_5"
"systems": "systems_4"
},
"locked": {
"lastModified": 1705309234,
@ -211,9 +193,9 @@
"type": "github"
}
},
"flake-utils_5": {
"flake-utils_4": {
"inputs": {
"systems": "systems_6"
"systems": "systems_5"
},
"locked": {
"lastModified": 1710146030,
@ -229,9 +211,9 @@
"type": "github"
}
},
"flake-utils_6": {
"flake-utils_5": {
"inputs": {
"systems": "systems_7"
"systems": "systems_6"
},
"locked": {
"lastModified": 1705309234,
@ -313,11 +295,11 @@
]
},
"locked": {
"lastModified": 1743998782,
"narHash": "sha256-gckmtwW/H0jEM1Y8G3wBLfr2nJvwBdjuqnjKNV0lcQY=",
"lastModified": 1745128386,
"narHash": "sha256-xnNxL9lZC5Ez8AxTgHZZu8pYSNM34+5GD5jGSs8Vq4M=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "c15ab0ce0dbe64843358a3081b09ed35144dfd65",
"rev": "f98314bb064cf8f8446c44afbadaaad2505875a7",
"type": "github"
},
"original": {
@ -332,11 +314,11 @@
"nixpkgs": "nixpkgs"
},
"locked": {
"lastModified": 1743896382,
"narHash": "sha256-yYLBCDGOpsrMW1cMYUd1B0AWx86puv75Bn+T+TGsyRU=",
"lastModified": 1744900124,
"narHash": "sha256-2l+0DOQkro1XqokQCQYJVy0RLULxLvRdfd+KLvx2E+I=",
"owner": "StevenBlack",
"repo": "hosts",
"rev": "37a200a82d7a7d9a6598d870825a30f581632016",
"rev": "8c73d7423883d1e9992eb74aabc17f0780b65c8b",
"type": "github"
},
"original": {
@ -390,11 +372,11 @@
]
},
"locked": {
"lastModified": 1739049071,
"narHash": "sha256-3+7TpXMrbsUXSwgr5VAKAnmkzMb6JO+Rvc9XRb5NMg4=",
"lastModified": 1743953322,
"narHash": "sha256-prQ5JKopXtzCMX2eT3dXbaVvGmzjMRE2bXStQDdazpM=",
"owner": "hyprwm",
"repo": "hyprgraphics",
"rev": "175c6b29b6ff82100539e7c4363a35a02c74dd73",
"rev": "9d7f2687c84c729afbc3b13f7937655570f2978d",
"type": "github"
},
"original": {
@ -419,11 +401,11 @@
"xdph": "xdph"
},
"locked": {
"lastModified": 1743975687,
"narHash": "sha256-k21wOvAEzCLHIUsVG551y6cMxmQ7sXQLOtlxQXV09xk=",
"lastModified": 1745164468,
"narHash": "sha256-JOza51SDXsdHIuIR40wdFTzjZdSIq8RwFpCacDNURgk=",
"owner": "hyprwm",
"repo": "Hyprland",
"rev": "51838fb5f5b5b03bca99b324fb1f6494d3854f89",
"rev": "9b4060f09be06250e859b27d6dd3ded5349f5546",
"type": "github"
},
"original": {
@ -449,11 +431,11 @@
]
},
"locked": {
"lastModified": 1743950622,
"narHash": "sha256-8qjDapcQeDqxQUIm5gA0x6XZtowV/14bOs3K0tCSMoU=",
"lastModified": 1745156469,
"narHash": "sha256-3PK27C3XcPoOkEIQnaPi3cdvh7XjIGqkcQ6MeZMvy2E=",
"owner": "hyprwm",
"repo": "hyprland-plugins",
"rev": "be6b9875dd5c586fb401d294bb98c31973849651",
"rev": "faa4e782753ab994333666b7e686b038d420c22f",
"type": "github"
},
"original": {
@ -571,11 +553,11 @@
]
},
"locked": {
"lastModified": 1741191527,
"narHash": "sha256-kM+11Nch47Xwfgtw2EpRitJuORy4miwoMuRi5tyMBDY=",
"lastModified": 1744468525,
"narHash": "sha256-9HySx+EtsbbKlZDlY+naqqOV679VdxP6x6fP3wxDXJk=",
"owner": "hyprwm",
"repo": "hyprlang",
"rev": "72df3861f1197e41b078faa3e38eedd60e00018d",
"rev": "f1000c54d266e6e4e9d646df0774fac5b8a652df",
"type": "github"
},
"original": {
@ -651,15 +633,14 @@
"flake-utils": "flake-utils",
"nixpkgs": [
"nixpkgs"
],
"pnpm2nix": "pnpm2nix"
]
},
"locked": {
"lastModified": 1743984107,
"narHash": "sha256-4847SrchEPDB9CEZME64E41adIygA/pkoQyRGXNymq0=",
"lastModified": 1744754672,
"narHash": "sha256-FmQS8DqjgOyfEth8tpUlJoduo6rAv28PwLGv90J3rcM=",
"owner": "moonlight-mod",
"repo": "moonlight",
"rev": "f3eb24ebb4c68becb4d28a88ae95bcbd50ec8b66",
"rev": "cbcf4afc43f9bb2347b822fe1f6a2bf74075d927",
"type": "github"
},
"original": {
@ -695,11 +676,11 @@
]
},
"locked": {
"lastModified": 1744518957,
"narHash": "sha256-RLBSWQfTL0v+7uyskC5kP6slLK1jvIuhaAh8QvB75m4=",
"lastModified": 1745120797,
"narHash": "sha256-owQ0VQ+7cSanTVPxaZMWEzI22Q4bGnuvhVjLAJBNQ3E=",
"owner": "nix-community",
"repo": "nix-index-database",
"rev": "4fc9ea78c962904f4ea11046f3db37c62e8a02fd",
"rev": "69716041f881a2af935021c1182ed5b0cc04d40e",
"type": "github"
},
"original": {
@ -710,9 +691,9 @@
},
"nix-options-search": {
"inputs": {
"flake-utils": "flake-utils_3",
"flake-utils": "flake-utils_2",
"gitignore": "gitignore_2",
"nixpkgs": "nixpkgs_4"
"nixpkgs": "nixpkgs_3"
},
"locked": {
"lastModified": 1743876182,
@ -738,11 +719,11 @@
"rust-overlay": "rust-overlay"
},
"locked": {
"lastModified": 1743949616,
"narHash": "sha256-L7rN47O8cc/LrYlWtZOKuVYuYQ8VWPlUeAaMVhxQu5o=",
"lastModified": 1745147300,
"narHash": "sha256-PvzBVmB8qRxGnccAaBxPKG9oElAQxac2HbFOGyQuuJU=",
"owner": "lilyinstarlight",
"repo": "nixos-cosmic",
"rev": "e765d8c0340d38c1544dcfc6cae829ed2582075e",
"rev": "5a4d2109cf5a3eb18a0afa361a017643a57f9454",
"type": "github"
},
"original": {
@ -754,8 +735,8 @@
"nixpkgs": {
"locked": {
"lastModified": 0,
"narHash": "sha256-6hl6L/tRnwubHcA4pfUUtk542wn2Om+D4UnDhlDW9BE=",
"path": "/nix/store/9qd2bi98nh9yd4axm9zr16zln01w62q3-source",
"narHash": "sha256-rpqepOZ8Eo1zg+KJeWoq1HAOgoMCDloqv5r2EAa9TSA=",
"path": "/nix/store/inbabfz8n7fxflkis0a05zcli4a1q2bp-source",
"type": "path"
},
"original": {
@ -765,11 +746,11 @@
},
"nixpkgs-stable": {
"locked": {
"lastModified": 1743703532,
"narHash": "sha256-s1KLDALEeqy+ttrvqV3jx9mBZEvmthQErTVOAzbjHZs=",
"lastModified": 1744440957,
"narHash": "sha256-FHlSkNqFmPxPJvy+6fNLaNeWnF1lZSgqVCl/eWaJRc4=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "bdb91860de2f719b57eef819b5617762f7120c70",
"rev": "26d499fc9f1d567283d5d56fcf367edd815dba1d",
"type": "github"
},
"original": {
@ -796,11 +777,11 @@
},
"nixpkgs_2": {
"locked": {
"lastModified": 1743827369,
"narHash": "sha256-rpqepOZ8Eo1zg+KJeWoq1HAOgoMCDloqv5r2EAa9TSA=",
"lastModified": 1744932701,
"narHash": "sha256-fusHbZCyv126cyArUwwKrLdCkgVAIaa/fQJYFlCEqiU=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "42a1c966be226125b48c384171c44c651c236c22",
"rev": "b024ced1aac25639f8ca8fdfc2f8c4fbd66c48ef",
"type": "github"
},
"original": {
@ -811,22 +792,6 @@
}
},
"nixpkgs_3": {
"locked": {
"lastModified": 1736344531,
"narHash": "sha256-8YVQ9ZbSfuUk2bUf2KRj60NRraLPKPS0Q4QFTbc+c2c=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "bffc22eb12172e6db3c5dde9e3e5628f8e3e7912",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_4": {
"locked": {
"lastModified": 1736012469,
"narHash": "sha256-/qlNWm/IEVVH7GfgAIyP6EsVZI6zjAx1cV5zNyrs+rI=",
@ -842,13 +807,13 @@
"type": "github"
}
},
"nixpkgs_5": {
"nixpkgs_4": {
"locked": {
"lastModified": 1743827369,
"narHash": "sha256-rpqepOZ8Eo1zg+KJeWoq1HAOgoMCDloqv5r2EAa9TSA=",
"lastModified": 1744932701,
"narHash": "sha256-fusHbZCyv126cyArUwwKrLdCkgVAIaa/fQJYFlCEqiU=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "42a1c966be226125b48c384171c44c651c236c22",
"rev": "b024ced1aac25639f8ca8fdfc2f8c4fbd66c48ef",
"type": "github"
},
"original": {
@ -857,7 +822,7 @@
"type": "indirect"
}
},
"nixpkgs_6": {
"nixpkgs_5": {
"locked": {
"lastModified": 1708161998,
"narHash": "sha256-6KnemmUorCvlcAvGziFosAVkrlWZGIc6UNT9GUYr0jQ=",
@ -873,7 +838,7 @@
"type": "github"
}
},
"nixpkgs_7": {
"nixpkgs_6": {
"locked": {
"lastModified": 1717696253,
"narHash": "sha256-1+ua0ggXlYYPLTmMl3YeYYsBXDSCqT+Gw3u6l4gvMhA=",
@ -889,25 +854,6 @@
"type": "github"
}
},
"pnpm2nix": {
"inputs": {
"flake-utils": "flake-utils_2",
"nixpkgs": "nixpkgs_3"
},
"locked": {
"lastModified": 1736457458,
"narHash": "sha256-eiw+hAsxavEgBfhwrktNI2hwvgeVDzBDYClx/yqka78=",
"owner": "NotNite",
"repo": "pnpm2nix-nzbr",
"rev": "4ac61c6a50623da937dca005e3dbcb8862aafb83",
"type": "github"
},
"original": {
"owner": "NotNite",
"repo": "pnpm2nix-nzbr",
"type": "github"
}
},
"pre-commit-hooks": {
"inputs": {
"flake-compat": "flake-compat",
@ -944,7 +890,7 @@
"nix-index-database": "nix-index-database",
"nix-options-search": "nix-options-search",
"nixos-cosmic": "nixos-cosmic",
"nixpkgs": "nixpkgs_5",
"nixpkgs": "nixpkgs_4",
"nixpkgs-stable": "nixpkgs-stable_2",
"rust-overlay": "rust-overlay_2",
"zig": "zig",
@ -959,11 +905,11 @@
]
},
"locked": {
"lastModified": 1743906877,
"narHash": "sha256-Thah1oU8Vy0gs9bh5QhNcQh1iuQiowMnZPbrkURonZA=",
"lastModified": 1745116541,
"narHash": "sha256-5xzA6dTfqCfTTDCo3ipPZzrg3wp01xmcr73y4cTNMP8=",
"owner": "oxalica",
"repo": "rust-overlay",
"rev": "9d00c6b69408dd40d067603012938d9fbe95cfcd",
"rev": "e2142ef330a61c02f274ac9a9cb6f8487a5d0080",
"type": "github"
},
"original": {
@ -979,11 +925,11 @@
]
},
"locked": {
"lastModified": 1743993291,
"narHash": "sha256-u8GHvduU1gCtoFXvTS/wGjH1ouv5S/GRGq6MAT+sG/k=",
"lastModified": 1745116541,
"narHash": "sha256-5xzA6dTfqCfTTDCo3ipPZzrg3wp01xmcr73y4cTNMP8=",
"owner": "oxalica",
"repo": "rust-overlay",
"rev": "0cb3c8979c65dc6a5812dfe67499a8c7b8b4325b",
"rev": "e2142ef330a61c02f274ac9a9cb6f8487a5d0080",
"type": "github"
},
"original": {
@ -1082,21 +1028,6 @@
"type": "github"
}
},
"systems_7": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"xdph": {
"inputs": {
"hyprland-protocols": [
@ -1125,11 +1056,11 @@
]
},
"locked": {
"lastModified": 1741934139,
"narHash": "sha256-ZhTcTH9FoeAtbPfWGrhkH7RjLJZ7GeF18nygLAMR+WE=",
"lastModified": 1744644585,
"narHash": "sha256-p0D/e4J6Sv6GSb+9u8OQcVHSE2gPNYB5ygIfGDyEiXQ=",
"owner": "hyprwm",
"repo": "xdg-desktop-portal-hyprland",
"rev": "150b0b6f52bb422a1b232a53698606fe0320dde0",
"rev": "be6771e754345f18244fb00aae5c9e5ab21ccc26",
"type": "github"
},
"original": {
@ -1141,15 +1072,15 @@
"zig": {
"inputs": {
"flake-compat": "flake-compat_3",
"flake-utils": "flake-utils_4",
"nixpkgs": "nixpkgs_6"
"flake-utils": "flake-utils_3",
"nixpkgs": "nixpkgs_5"
},
"locked": {
"lastModified": 1743899701,
"narHash": "sha256-qbaGVwPyUGmmRh+u1EY+bFKKiBC2CDfuE7E9uGj1Iuk=",
"lastModified": 1744978344,
"narHash": "sha256-wY5oeCJDKBlEodTR8d7GbH1rzgiPZeb0x/1z/2GvFvs=",
"owner": "mitchellh",
"repo": "zig-overlay",
"rev": "51f156aa0220947c6712b5846bf440136fd551db",
"rev": "028c99db16ef26fcc3cf138a2759b3cac3a19ae1",
"type": "github"
},
"original": {
@ -1161,7 +1092,7 @@
"zig-overlay": {
"inputs": {
"flake-compat": "flake-compat_4",
"flake-utils": "flake-utils_6",
"flake-utils": "flake-utils_5",
"nixpkgs": [
"zls",
"nixpkgs"
@ -1183,10 +1114,10 @@
},
"zls": {
"inputs": {
"flake-utils": "flake-utils_5",
"flake-utils": "flake-utils_4",
"gitignore": "gitignore_3",
"langref": "langref",
"nixpkgs": "nixpkgs_7",
"nixpkgs": "nixpkgs_6",
"zig-overlay": "zig-overlay"
},
"locked": {

View file

@ -72,22 +72,33 @@
inputs.nh.overlays.default
];
mkSystem = import ./lib/mkSystem.nix {
inherit overlays nixpkgs inputs;
# ----- USER SETTINGS ----- #
userSettings = 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
browser = "firefox"; # Default browser; must select one from ./user/app/browser/
term = "ghostty"; # Default terminal command;
font = "iosevka Nerd Font"; # Selected font
editor = "neovim"; # Default editor;
spawnEditor = "exec" + term + " -e " + editor;
timeZone = "America/Los_Angeles";
sexuality = "bisexual";
};
user = "nmarks";
mkSystem = import ./lib/mkSystem.nix {
inherit overlays nixpkgs inputs userSettings;
};
in {
nixosConfigurations.nixos = mkSystem "nixos" {
system = "x86_64-linux";
inherit user;
extraModules = [
nixos-cosmic.nixosModules.default
];
};
darwinConfigurations."Natalies-MacBook-Air" = mkSystem "Natalies-MacBook-Air" {
system = "aarch64-darwin";
inherit user;
darwin = true;
};
};

View file

@ -3,6 +3,7 @@
inputs,
config,
pkgs,
userSettings,
...
}: {
imports = [
@ -11,57 +12,90 @@
../../modules/nixos/nvidia.nix
../../modules/nixos/boot.nix
../../modules/nixos/ld.nix
../../modules/nixos/services.nix
];
programs.gamemode.enable = true;
programs = {
gamemode.enable = true;
programs._1password.enable = true;
programs._1password-gui = {
enable = true;
# Certain features, including CLI integration and system authentication support,
# require enabling PolKit integration on some desktop environments (e.g. Plasma).
polkitPolicyOwners = ["nmarks"];
_1password.enable = true;
_1password-gui = {
enable = true;
# Certain features, including CLI integration and system authentication support,
# require enabling PolKit integration on some desktop environments (e.g. Plasma).
polkitPolicyOwners = [userSettings.username];
};
noisetorch.enable = true;
hyprland.enable = true;
fish.enable = true;
virt-manager.enable = true;
nh = {
enable = true;
clean.enable = true;
clean.extraArgs = "--keep-since 4d --keep 3";
flake = "/home/nmarks/.dotfiles";
};
neovim = {
enable = true;
defaultEditor = true;
};
steam = {
enable = true;
package = with pkgs; steam.override {extraPkgs = pkgs: [attr];};
};
git = {
enable = true;
lfs.enable = true;
};
# Some programs need SUID wrappers, can be configured further or are
# started in user sessions.
mtr.enable = true;
gnupg.agent = {
enable = true;
enableSSHSupport = true;
pinentryPackage = pkgs.pinentry-curses;
};
kdeconnect.enable = true;
};
hardware.bluetooth.enable = true;
services = {
};
programs.noisetorch.enable = true;
xdg.portal = {
enable = true;
extraPortals = with pkgs; [xdg-desktop-portal-gtk];
};
virtualisation = {
containers.enable = true;
podman = {
enable = true;
# dockerCompat = true;
};
docker.enable = true;
virtualisation.containers.enable = true;
virtualisation.podman = {
enable = true;
# dockerCompat = true;
};
virtualisation.docker.enable = true;
nix.settings.trusted-users = ["root" "nmarks"];
programs.hyprland.enable = true;
programs.fish.enable = true;
virtualisation.libvirtd.enable = true;
programs.virt-manager.enable = true;
systemd.targets = {
sleep.enable = false;
suspend.enable = false;
hibernate.enable = false;
hybrid-sleep.enable = false;
libvirtd.enable = true;
};
programs.nh = {
enable = true;
clean.enable = true;
clean.extraArgs = "--keep-since 4d --keep 3";
flake = "/home/nmarks/.dotfiles";
nix.settings.trusted-users = ["root" userSettings.username];
systemd = {
targets = {
sleep.enable = false;
suspend.enable = false;
hibernate.enable = false;
hybrid-sleep.enable = false;
};
packages = [pkgs.observatory];
services.monitord.wantedBy = ["multi-user.target"];
};
i18n = {
@ -95,16 +129,8 @@
];
};
};
### Cosmic stuff
environment.sessionVariables.COSMIC_DATA_CONTROL_ENABLED = 1;
systemd.packages = [pkgs.observatory];
systemd.services.monitord.wantedBy = ["multi-user.target"];
# Enable sound with pipewire.
# services.pulseaudio.enable = true;
security.rtkit.enable = true;
# Enable touchpad support (enabled default in most desktopManager).
@ -112,7 +138,7 @@
# Define a user account. Don't forget to set a password with passwd.
users.defaultUserShell = pkgs.fish;
users.users.nmarks = {
users.users.${userSettings.username} = {
isNormalUser = true;
description = "Natalie Marks";
extraGroups = ["networkmanager" "wheel" "docker"];
@ -125,40 +151,17 @@
# thunderbird
];
};
environment = {
sessionVariables.COSMIC_DATA_CONTROL_ENABLED = 1;
variables.EDITOR = "nvim";
programs.neovim = {
enable = true;
defaultEditor = true;
systemPackages = with pkgs; [
vim
];
};
environment.variables.EDITOR = "nvim";
programs.steam = {
enable = true;
package = with pkgs; steam.override {extraPkgs = pkgs: [attr];};
};
programs.git = {
enable = true;
lfs.enable = true;
};
environment.systemPackages = with pkgs; [
vim
];
# Some programs need SUID wrappers, can be configured further or are
# started in user sessions.
programs.mtr.enable = true;
programs.gnupg.agent = {
enable = true;
enableSSHSupport = true;
pinentryPackage = pkgs.pinentry-curses;
};
programs.kdeconnect.enable = true;
networking = {
hostName = "nixos"; # Define your hostname.
hostName = userSettings.hostname; # Define your hostname.
# wireless.enable = true; # Enables wireless support via wpa_supplicant.
networkmanager.enable = true;
firewall = {
@ -171,89 +174,6 @@
};
};
programs.nix-ld.enable = true;
# "minimum" amount of libraries needed for most games to run without steam-run
programs.nix-ld.libraries = with pkgs; [
# common requirement for several games
stdenv.cc.cc.lib
# from https://github.com/NixOS/nixpkgs/blob/nixos-23.05/pkgs/games/steam/fhsenv.nix#L72-L79
xorg.libXcomposite
xorg.libXtst
xorg.libXrandr
xorg.libXext
xorg.libX11
xorg.libXfixes
libGL
libva
# from https://github.com/NixOS/nixpkgs/blob/nixos-23.05/pkgs/games/steam/fhsenv.nix#L124-L136
fontconfig
freetype
xorg.libXt
xorg.libXmu
libogg
libvorbis
SDL
SDL2_image
glew110
libdrm
libidn
tbb
zlib
alsa-lib
at-spi2-atk
at-spi2-core
atk
cairo
cups
curl
dbus
expat
fontconfig
freetype
fuse3
gdk-pixbuf
glib
gtk3
icu
libGL
libappindicator-gtk3
libdrm
libglvnd
libnotify
libpulseaudio
libunwind
libusb1
libuuid
libxkbcommon
libxml2
mesa
nspr
nss
openssl
pango
# pipewire
stdenv.cc.cc
systemd
vulkan-loader
xorg.libX11
xorg.libXScrnSaver
xorg.libXcomposite
xorg.libXcursor
xorg.libXdamage
xorg.libXext
xorg.libXfixes
xorg.libXi
xorg.libXrandr
xorg.libXrender
xorg.libXtst
xorg.libxcb
xorg.libxkbfile
xorg.libxshmfence
zlib
];
# Open ports in the firewall.
# networking.firewall.allowedUDPPorts = [ ... ];
# Or disable the firewall altogether.

View file

@ -4,22 +4,11 @@
pkgs,
lib,
zls,
nix-options-search,
...
}: let
shared-programs = import ../shared/home-programs.nix {inherit inputs config pkgs lib;};
in {
home = {
username = "nmarks";
homeDirectory = "/home/nmarks";
# This value determines the Home Manager release that your configuration is
# compatible with. This helps avoid breakage when a new Home Manager release
# introduces backwards incompatible changes.
#
# You should not change this value, even if you update Home Manager. If you do
# want to update the value, then make sure to first check the Home Manager
# release notes.
stateVersion = "23.05"; # Please read the comment before changing.
packages = with pkgs; let
@ -31,6 +20,7 @@ in {
ghostty
stremio
julia
qbittorrent
#gaming
bottles
@ -67,16 +57,9 @@ in {
rust-bin.stable.latest.default
];
# programs.mangohud.enable = true;
sessionVariables = {
EDITOR = "nvim";
VISUAL = "nvim";
TERMINAL = "ghostty";
BROWSER = "firefox";
};
};
programs = shared-programs;
xdg.mimeApps.defaultApplications."inode/directory" = "dolphin.desktop";
# xdg.mimeApps.defaultApplications."inode/directory" = "dolphin.desktop";
}

View file

@ -3,6 +3,7 @@
config,
pkgs,
lib,
userSettings,
...
}: {
imports = [
@ -10,20 +11,12 @@
../../modules/macos/homebrew.nix
];
environment.systemPackages = with pkgs; [
neovim
pinentry_mac
];
# environment.customIcons = {
# enable = true;
# icons = [
# {
# path = "/Applications/Zen.app";
# icon = "/Users/nmarks/.dotfiles/icons/Zen_icons/firefox.icns";
# }
# ];
# };
environment.systemPackages = with pkgs;
[
neovim
pinentry_mac
]
++ callPackage ../shared/packages.nix {};
# Use a custom configuration.nix location.
#environment.darwinConfig = "$HOME/.dotfiles/hosts/laptop";
@ -34,6 +27,7 @@
zsh.enable = true; # default shell on catalina
};
# When opening an interactive shell that isnt fish move into fish
programs.zsh = {
interactiveShellInit = ''
if [[ $(${pkgs.procps}/bin/ps -p $PPID -o comm) != "fish" && -z ''${ZSH_EXUCTION_STRING} ]]
@ -44,6 +38,7 @@
'';
};
#Use touchid or watch to activate sudo
security.pam.services.sudo_local = {
enable = true;
reattach = true;
@ -57,12 +52,15 @@
stateVersion = 6;
defaults = {
# Turn quaranite off
LaunchServices = {
LSQuarantine = false;
};
NSGlobalDomain = {
# Show extensions in finder
AppleShowAllExtensions = true;
#Turn off the hold and press to input special chars
ApplePressAndHoldEnabled = false;
# 120, 90, 60, 30, 12, 6, 2
@ -71,6 +69,7 @@
# 120, 94, 68, 35, 25, 15
InitialKeyRepeat = 15;
#Turn off beep noise in terminal
"com.apple.mouse.tapBehavior" = 1;
"com.apple.sound.beep.volume" = 0.0;
"com.apple.sound.beep.feedback" = 0;
@ -89,7 +88,8 @@
# minimal dock
dock = {
autohide = true;
autohide-time-modifier = 0;
#instant hide and show
autohide-time-modifier = 0.0;
show-process-indicators = true;
expose-group-apps = true;
@ -97,11 +97,12 @@
show-recents = true;
static-only = true;
# Scale instead of shrink
mineffect = "scale";
orientation = "bottom";
};
# a finder that tells me what I want to know and lets me work
# Better finder settings
finder = {
_FXShowPosixPathInTitle = true;
FXDefaultSearchScope = "SCcf";
@ -115,6 +116,8 @@
};
};
};
# Bind caps to escape for better normal mode stuff
keyboard = {
enableKeyMapping = true;
remapCapsLockToEscape = true;

View file

@ -3,38 +3,22 @@
config,
pkgs,
lib,
user,
userSettings,
systemSettings,
...
}: {
programs = import ../shared/home-programs.nix {inherit inputs config pkgs lib;};
programs = import ../shared/home-programs.nix {inherit inputs config pkgs lib userSettings;};
home = {
username = user;
homeDirectory = "/Users/nmarks/";
inherit (userSettings) username;
# homeDirectory = systemSettings.homeConfig;
# shell = pkgs.fish;
# Home Manager needs a bit of information about you and the paths it should
# manage.
# This value determines the Home Manager release that your configuration is
# compatible with. This helps avoid breakage when a new Home Manager release
# introduces backwards incompatible changes.
#
# You should not change this value, even if you update Home Manager. If you do
# want to update the value, then make sure to first check the Home Manager
# release notes.
stateVersion = "23.05"; # Please read the comment before changing.
packages = pkgs.callPackage ../shared/packages.nix {};
# packages = pkgs.callPackage ../shared/packages.nix {};
sessionVariables = {
EDITOR = "nvim";
VISUAL = "nvim";
TERMINAL = "ghostty";
BROWSER = "firefox";
};
sessionPath = [
"$HOME/.emacs.d/bin"
];
};
# Let Home Manager install and manage itself.
}

View file

@ -3,6 +3,7 @@
config,
pkgs,
lib,
userSettings,
...
}: {
nix-index.enable = true;
@ -51,7 +52,7 @@
enable = true;
settings = {
backend = "fastfetch";
preset = "bisexual";
preset = userSettings.sexuality;
mode = "rgb";
light_dark = "dark";
lightness = {
@ -85,7 +86,7 @@
reboot-windows = "sudo efibootmgr --bootnext 0000; sudo reboot -h now";
};
shellInit = ''
test -r '/Users/nmarks/.opam/opam-init/init.fish' && source '/Users/nmarks/.opam/opam-init/init.fish' > /dev/null 2> /dev/null; or true
test -r '/Users/${userSettings.username}/.opam/opam-init/init.fish' && source '/Users/${userSettings.username}/.opam/opam-init/init.fish' > /dev/null 2> /dev/null; or true
batman --export-env | source
'';
};

View file

@ -59,11 +59,10 @@ with pkgs; [
withMoonlight = true;
})
vesktop
signal-desktop
signal-desktop-bin
#media
spotify
qbittorrent
#language servers
typst-live

View file

@ -4,85 +4,100 @@
nixpkgs,
overlays,
inputs,
userSettings,
}: name: {
system,
user,
darwin ? false,
extraModules ? [],
}: let
# userSettings = 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
# browser = "firefox"; # Default browser; must select one from ./user/app/browser/
# term = "ghostty"; # Default terminal command;
# font = "iosevka Nerd Font"; # Selected font
# editor = "neovim"; # Default editor;
# spawnEditor = "exec" + term + "- e " + editor;
# };
nixindex =
if darwin
then inputs.nix-index-database.darwinModules.nix-index
else inputs.nix-index-database.nixosModules.nix-index;
host =
if darwin
then "laptop"
else "desktop";
systemSettings = rec {
host =
if darwin
then "laptop"
else "desktop";
# The config files for this system.
# The config files for this system.
hostConfig = ../hosts/${host}/configuration.nix;
homeConfig = ../hosts/${host}/home.nix;
hostConfig = ../hosts/${host}/configuration.nix;
homeConfig = ../hosts/${host}/home.nix;
homeDir =
if darwin
then "/Users/nmarks/"
else "/home/nmarks";
homeDir =
if darwin
then "/Users/" + userSettings.username + "/"
else "/home/" + userSettings.username + "/";
# NixOS vs nix-darwin functions
systemFunc =
if darwin
then inputs.darwin.lib.darwinSystem
else nixpkgs.lib.nixosSystem;
# NixOS vs nix-darwin functions
systemFunc =
if darwin
then inputs.darwin.lib.darwinSystem
else nixpkgs.lib.nixosSystem;
hmModules =
if darwin
then inputs.home-manager.darwinModules
else inputs.home-manager.nixosModules;
hmModules =
if darwin
then inputs.home-manager.darwinModules
else inputs.home-manager.nixosModules;
};
in
systemFunc rec {
inherit system;
with systemSettings;
systemFunc rec {
inherit system;
modules =
[
# Apply our overlays. Overlays are keyed by system type so we have
# to go through and apply our system type. We do this first so
# the overlays are available globally.
{nixpkgs.overlays = overlays;}
modules =
[
# Apply our overlays. Overlays are keyed by system type so we have
# to go through and apply our system type. We do this first so
# the overlays are available globally.
{nixpkgs.overlays = overlays;}
# Enable caching for nix-index so we dont have to rebuild it
# Enable caching for nix-index so we dont have to rebuild it
#shared modules
../modules/shared/extras.nix
../modules/shared/nix.nix
#shared modules
../modules/shared/extras.nix
../modules/shared/nix.nix
hostConfig
nixindex
{programs.nix-index-database.comma.enable = true;}
hmModules.home-manager
{
home-manager = {
useGlobalPkgs = true;
useUserPackages = true;
backupFileExtension = "hm-backup";
extraSpecialArgs = {inherit inputs user;};
users.${user} = homeConfig;
};
hostConfig
nixindex
{programs.nix-index-database.comma.enable = true;}
hmModules.home-manager
{
home-manager = {
useGlobalPkgs = true;
useUserPackages = true;
backupFileExtension = "hm-backup";
extraSpecialArgs = {inherit inputs userSettings systemSettings;};
users.${userSettings.username} = homeConfig;
};
users.users.${user}.home = homeDir;
}
users.users.${userSettings.username}.home = homeDir;
}
# We expose some extra arguments so that our modules can parameterize
# better based on these values.
{
config._module.args = {
currentSystem = system;
currentSystemName = name;
currentSystemUser = user;
inherit inputs;
};
}
]
++ extraModules;
}
# We expose some extra arguments so that our modules can parameterize
# better based on these values.
{
config._module.args = {
currentSystem = system;
# currentSystemName = name;
# currentSystemUser = userSettings.username;
inherit inputs userSettings systemSettings;
};
}
]
++ extraModules;
}

85
modules/nixos/ld.nix Normal file
View file

@ -0,0 +1,85 @@
{pkgs, ...}: {
programs.nix-ld.enable = true;
# "minimum" amount of libraries needed for most games to run without steam-run
programs.nix-ld.libraries = with pkgs; [
# common requirement for several games
stdenv.cc.cc.lib
# from https://github.com/NixOS/nixpkgs/blob/nixos-23.05/pkgs/games/steam/fhsenv.nix#L72-L79
xorg.libXcomposite
xorg.libXtst
xorg.libXrandr
xorg.libXext
xorg.libX11
xorg.libXfixes
libGL
libva
# from https://github.com/NixOS/nixpkgs/blob/nixos-23.05/pkgs/games/steam/fhsenv.nix#L124-L136
fontconfig
freetype
xorg.libXt
xorg.libXmu
libogg
libvorbis
SDL
SDL2_image
glew110
libdrm
libidn
tbb
zlib
alsa-lib
at-spi2-atk
at-spi2-core
atk
cairo
cups
curl
dbus
expat
fontconfig
freetype
fuse3
gdk-pixbuf
glib
gtk3
icu
libGL
libappindicator-gtk3
libdrm
libglvnd
libnotify
libpulseaudio
libunwind
libusb1
libuuid
libxkbcommon
libxml2
mesa
nspr
nss
openssl
pango
# pipewire
stdenv.cc.cc
systemd
vulkan-loader
xorg.libX11
xorg.libXScrnSaver
xorg.libXcomposite
xorg.libXcursor
xorg.libXdamage
xorg.libXext
xorg.libXfixes
xorg.libXi
xorg.libXrandr
xorg.libXrender
xorg.libXtst
xorg.libxcb
xorg.libxkbfile
xorg.libxshmfence
zlib
];
}

View file

@ -26,10 +26,14 @@
};
};
desktopManager.cosmic.enable = true;
displayManager.cosmic-greeter.enable = true;
# Auto mount devices
udiskie = {
enable = true;
};
# Configure keymap in X11
xserver = {
xkb.layout = "us";
@ -39,7 +43,10 @@
tailscale.enable = true;
# Enable CUPS to print documents.
printing.enable = true;
printing = {
enable = true;
drivers = [pkgs.brlaser]; # Brother printer driver
};
pipewire = {
enable = true;

View file

@ -2,6 +2,7 @@
pkgs,
config,
inputs,
userSettings,
...
}: {
services.tailscale.enable = true;
@ -9,7 +10,6 @@
networking = {
};
fonts.packages = with pkgs; [
# alibaba-fonts
nerd-fonts.fira-code
nerd-fonts.iosevka
iosevka
@ -18,5 +18,12 @@
];
# Set your time zone.
time.timeZone = "America/Los_Angeles";
time.timeZone = userSettings.timeZone;
home-manager.users.${userSettings.username}.home.sessionVariables = {
EDITOR = userSettings.editor;
VISUAL = userSettings.editor;
TERMINAL = userSettings.term;
BROWSER = userSettings.browser;
};
}

View file

@ -0,0 +1,8 @@
{
config,
pkgs,
lib,
...
}: {
}

View file

@ -24,11 +24,13 @@
"https://nix-community.cachix.org"
"https://cosmic.cachix.org/"
# For haskell
"https://cache.iog.io"
];
trusted-public-keys = [
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
"cosmic.cachix.org-1:Dya9IyXD4xdBehWjrkPv6rtxpmMdRel02smYzA85dPE="
# For haskell
"hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ="
];
};