1
0
Fork 0
mirror of https://github.com/ryanccn/flake.git synced 2025-12-06 08:10:43 +01:00

feat: add nixos (doesn't work yet)

This commit is contained in:
Ryan Cao 2023-08-13 18:51:49 +08:00
parent 9f1c1a8c22
commit d44d3919ed
Signed by: ryanccn
SSH key fingerprint: SHA256:NtP/BlVhoQq4xU6BEcZeT8nIPvHntkJ3lIc2yB+F09E
7 changed files with 194 additions and 35 deletions

18
flake.lock generated
View file

@ -145,11 +145,11 @@
]
},
"locked": {
"lastModified": 1691672736,
"narHash": "sha256-HNPA/dKHerA0p4OsToEcW/DtTSXBcK5gFRsy/yPgV/Y=",
"lastModified": 1691882297,
"narHash": "sha256-e1/LAQSGLnBywfA1TfMl0Vj3tvYka73XOZ/D2/CJowE=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "6e1eff9aac0e8d84bda7f2d60ba6108eea9b7e79",
"rev": "c3ab5ea047e6dc73df530948f7367455749d8906",
"type": "github"
},
"original": {
@ -180,11 +180,11 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1691709280,
"narHash": "sha256-zmfH2OlZEXwv572d0g8f6M5Ac6RiO8TxymOpY3uuqrM=",
"lastModified": 1691853136,
"narHash": "sha256-wTzDsRV4HN8A2Sl0SVQY0q8ILs90CD43Ha//7gNZE+E=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "cf73a86c35a84de0e2f3ba494327cf6fb51c0dfd",
"rev": "f0451844bbdf545f696f029d1448de4906c7f753",
"type": "github"
},
"original": {
@ -248,11 +248,11 @@
]
},
"locked": {
"lastModified": 1691806075,
"narHash": "sha256-yuq7cNkFOQse4WwLw0rUiXhG58aI6eyXKfcTw5Act/I=",
"lastModified": 1691892594,
"narHash": "sha256-Lt9/WUnI/ZqBYnHOC3n6Lg5jTfd/ZI+39jZx5HmolSQ=",
"owner": "oxalica",
"repo": "rust-overlay",
"rev": "b87a7db512340dea25e95f444db29e9264ff7a63",
"rev": "c638e10caf94caaa97fb1df74e3bb467dc9b92db",
"type": "github"
},
"original": {

View file

@ -76,16 +76,23 @@
discord-applemusic-rich-presence,
...
}: let
configuration = {pkgs, ...}:
darwinConfiguration = {pkgs, ...}:
import ./system.nix (nixpkgs.lib.recursiveUpdate inputs {inherit pkgs;});
linuxConfiguration = {pkgs, ...}:
import ./nixos.nix (nixpkgs.lib.recursiveUpdate inputs {inherit pkgs;});
in {
darwinConfigurations.Ryans-MacBook-Pro = nix-darwin.lib.darwinSystem {
modules = [
configuration
darwinConfiguration
home-manager.darwinModules.home-manager
];
};
darwinPackages = self.darwinConfigurations.Ryans-MacBook-Pro.pkgs;
nixosConfigurations.Ryans-MacBook-Pro = nixpkgs.lib.nixosSystem {
modules = [
linuxConfiguration
home-manager.darwinModules.home-manager
];
};
};
}

View file

@ -4,20 +4,25 @@
ctpModule,
discord-applemusic-rich-presence,
...
}: {
}: let
inherit (pkgs) lib stdenv;
in {
home.stateVersion = "23.05";
imports = [
ctpModule
discord-applemusic-rich-presence
./programs/zsh.nix
./programs/fish.nix
./programs/starship.nix
./programs/git.nix
./programs/bat.nix
./programs/helix.nix
./programs/go.nix
./programs/exa.nix
];
imports =
[
ctpModule
./programs/zsh.nix
./programs/fish.nix
./programs/starship.nix
./programs/git.nix
./programs/bat.nix
./programs/helix.nix
./programs/go.nix
./programs/exa.nix
]
++ lib.optional stdenv.isDarwin [
discord-applemusic-rich-presence.overlays.default
];
programs.home-manager.enable = true;
home.packages = with pkgs; [
@ -25,7 +30,7 @@
ryan-term-bin
];
services.discord-applemusic-rich-presence = {
services.discord-applemusic-rich-presence = lib.optionalAttrs stdenv.isDarwin {
enable = true;
logFile = "${config.home.homeDirectory}/Library/Logs/discord-applemusic-rich-presence.log";
};

135
nixos.nix Normal file
View file

@ -0,0 +1,135 @@
{
pkgs,
attic,
catppuccin,
discord-applemusic-rich-presence,
nyoom,
...
}: {
environment.systemPackages = with pkgs; [
nil
alejandra
nixpkgs-fmt
attic-client
cachix
direnv
rustc
cargo
ccache
deno
fnm
bun
(python311.withPackages (ps:
with ps; [
pip
yt-dlp
xkcdpass
]))
libffi
openssl
rust-analyzer
nodePackages.typescript-language-server
rustfmt
clippy
pkgs.nyoom
age
asciinema
bat
btop
cloudflared
doggo
doppler
du-dust
exiftool
fd
ffmpeg
flyctl
fzf
gh
gen-license
gum
hyperfine
jq
just
spicetify-cli
mkcert
nerdfix
pscale
railway
silicon
tealdeer
tokei
vhs
vivid
xh
zoxide
typst
packwiz
catppuccin-catwalk
packwiz
];
services.nix-daemon.enable = true;
nix.package = pkgs.nix;
nix.settings = {
experimental-features = "nix-command flakes";
build-users-group = "nixbld";
trusted-users = ["ryanccn"];
auto-optimise-store = true;
extra-platforms = ["x86_64-linux" "aarch64-linux"];
extra-substituters = [
"https://nix-community.cachix.org"
];
extra-trusted-public-keys = [
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
];
};
nixpkgs = {
overlays = [
attic.overlays.default
nyoom.overlays.default
(import ./overlays/ryan-mono-bin.nix)
];
config.allowUnfree = true;
hostPlatform = "x86_64-linux";
};
system.activationScripts.extraActivation = {
text = ''
set -eo pipefail
${pkgs.lib.getExe pkgs.nvd} --nix-bin-dir=${pkgs.nix}/bin diff /run/current-system "$systemConfig"
'';
};
programs.fish.enable = true;
programs.zsh.enable = true;
home-manager = {
useGlobalPkgs = true;
useUserPackages = true;
extraSpecialArgs = {
ctpModule = catppuccin.homeManagerModules.catppuccin;
discord-applemusic-rich-presence = discord-applemusic-rich-presence.homeManagerModules.default;
};
};
users.users.ryanccn = {
home = "/home/ryanccn";
};
home-manager.users.ryanccn = import ./home.nix;
system.stateVersion = 4;
}

View file

@ -2,6 +2,7 @@
programs.bat = {
enable = true;
catppuccin.enable = true;
config = {
style = "plain";
};

View file

@ -1,10 +1,16 @@
{...}: {
{
lib,
stdenv,
...
}: let
inherit (stdenv) isDarwin;
in {
programs.go = {
enable = true;
goPath = ".go";
};
home.file."Library/Application Support/go/env".text = ''
home.file."Library/Application Support/go/env".text = lib.optionalString isDarwin ''
GOTOOLCHAIN=path
GOPROXY=direct
'';

View file

@ -116,8 +116,8 @@
security.pam.enableSudoTouchIdAuth = true;
programs.zsh.enable = true;
programs.fish.enable = true;
programs.zsh.enable = true;
homebrew = {
enable = true;
@ -143,14 +143,19 @@
taps = ["1password/tap"];
};
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.extraSpecialArgs = {
ctpModule = catppuccin.homeManagerModules.catppuccin;
discord-applemusic-rich-presence = discord-applemusic-rich-presence.homeManagerModules.default;
home-manager = {
useGlobalPkgs = true;
useUserPackages = true;
extraSpecialArgs = {
ctpModule = catppuccin.homeManagerModules.catppuccin;
discord-applemusic-rich-presence = discord-applemusic-rich-presence.homeManagerModules.default;
};
};
users.users.ryanccn = {
home = "/Users/ryanccn";
};
users.users.ryanccn.home = "/Users/ryanccn";
home-manager.users.ryanccn = import ./home.nix;
system.stateVersion = 4;