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:
parent
9f1c1a8c22
commit
d44d3919ed
7 changed files with 194 additions and 35 deletions
18
flake.lock
generated
18
flake.lock
generated
|
|
@ -145,11 +145,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1691672736,
|
"lastModified": 1691882297,
|
||||||
"narHash": "sha256-HNPA/dKHerA0p4OsToEcW/DtTSXBcK5gFRsy/yPgV/Y=",
|
"narHash": "sha256-e1/LAQSGLnBywfA1TfMl0Vj3tvYka73XOZ/D2/CJowE=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "6e1eff9aac0e8d84bda7f2d60ba6108eea9b7e79",
|
"rev": "c3ab5ea047e6dc73df530948f7367455749d8906",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -180,11 +180,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1691709280,
|
"lastModified": 1691853136,
|
||||||
"narHash": "sha256-zmfH2OlZEXwv572d0g8f6M5Ac6RiO8TxymOpY3uuqrM=",
|
"narHash": "sha256-wTzDsRV4HN8A2Sl0SVQY0q8ILs90CD43Ha//7gNZE+E=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "cf73a86c35a84de0e2f3ba494327cf6fb51c0dfd",
|
"rev": "f0451844bbdf545f696f029d1448de4906c7f753",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -248,11 +248,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1691806075,
|
"lastModified": 1691892594,
|
||||||
"narHash": "sha256-yuq7cNkFOQse4WwLw0rUiXhG58aI6eyXKfcTw5Act/I=",
|
"narHash": "sha256-Lt9/WUnI/ZqBYnHOC3n6Lg5jTfd/ZI+39jZx5HmolSQ=",
|
||||||
"owner": "oxalica",
|
"owner": "oxalica",
|
||||||
"repo": "rust-overlay",
|
"repo": "rust-overlay",
|
||||||
"rev": "b87a7db512340dea25e95f444db29e9264ff7a63",
|
"rev": "c638e10caf94caaa97fb1df74e3bb467dc9b92db",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
|
||||||
13
flake.nix
13
flake.nix
|
|
@ -76,16 +76,23 @@
|
||||||
discord-applemusic-rich-presence,
|
discord-applemusic-rich-presence,
|
||||||
...
|
...
|
||||||
}: let
|
}: let
|
||||||
configuration = {pkgs, ...}:
|
darwinConfiguration = {pkgs, ...}:
|
||||||
import ./system.nix (nixpkgs.lib.recursiveUpdate inputs {inherit pkgs;});
|
import ./system.nix (nixpkgs.lib.recursiveUpdate inputs {inherit pkgs;});
|
||||||
|
linuxConfiguration = {pkgs, ...}:
|
||||||
|
import ./nixos.nix (nixpkgs.lib.recursiveUpdate inputs {inherit pkgs;});
|
||||||
in {
|
in {
|
||||||
darwinConfigurations.Ryans-MacBook-Pro = nix-darwin.lib.darwinSystem {
|
darwinConfigurations.Ryans-MacBook-Pro = nix-darwin.lib.darwinSystem {
|
||||||
modules = [
|
modules = [
|
||||||
configuration
|
darwinConfiguration
|
||||||
home-manager.darwinModules.home-manager
|
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
|
||||||
|
];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
33
home.nix
33
home.nix
|
|
@ -4,20 +4,25 @@
|
||||||
ctpModule,
|
ctpModule,
|
||||||
discord-applemusic-rich-presence,
|
discord-applemusic-rich-presence,
|
||||||
...
|
...
|
||||||
}: {
|
}: let
|
||||||
|
inherit (pkgs) lib stdenv;
|
||||||
|
in {
|
||||||
home.stateVersion = "23.05";
|
home.stateVersion = "23.05";
|
||||||
imports = [
|
imports =
|
||||||
ctpModule
|
[
|
||||||
discord-applemusic-rich-presence
|
ctpModule
|
||||||
./programs/zsh.nix
|
./programs/zsh.nix
|
||||||
./programs/fish.nix
|
./programs/fish.nix
|
||||||
./programs/starship.nix
|
./programs/starship.nix
|
||||||
./programs/git.nix
|
./programs/git.nix
|
||||||
./programs/bat.nix
|
./programs/bat.nix
|
||||||
./programs/helix.nix
|
./programs/helix.nix
|
||||||
./programs/go.nix
|
./programs/go.nix
|
||||||
./programs/exa.nix
|
./programs/exa.nix
|
||||||
];
|
]
|
||||||
|
++ lib.optional stdenv.isDarwin [
|
||||||
|
discord-applemusic-rich-presence.overlays.default
|
||||||
|
];
|
||||||
|
|
||||||
programs.home-manager.enable = true;
|
programs.home-manager.enable = true;
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
|
|
@ -25,7 +30,7 @@
|
||||||
ryan-term-bin
|
ryan-term-bin
|
||||||
];
|
];
|
||||||
|
|
||||||
services.discord-applemusic-rich-presence = {
|
services.discord-applemusic-rich-presence = lib.optionalAttrs stdenv.isDarwin {
|
||||||
enable = true;
|
enable = true;
|
||||||
logFile = "${config.home.homeDirectory}/Library/Logs/discord-applemusic-rich-presence.log";
|
logFile = "${config.home.homeDirectory}/Library/Logs/discord-applemusic-rich-presence.log";
|
||||||
};
|
};
|
||||||
|
|
|
||||||
135
nixos.nix
Normal file
135
nixos.nix
Normal 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;
|
||||||
|
}
|
||||||
|
|
@ -2,6 +2,7 @@
|
||||||
programs.bat = {
|
programs.bat = {
|
||||||
enable = true;
|
enable = true;
|
||||||
catppuccin.enable = true;
|
catppuccin.enable = true;
|
||||||
|
|
||||||
config = {
|
config = {
|
||||||
style = "plain";
|
style = "plain";
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,16 @@
|
||||||
{...}: {
|
{
|
||||||
|
lib,
|
||||||
|
stdenv,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
inherit (stdenv) isDarwin;
|
||||||
|
in {
|
||||||
programs.go = {
|
programs.go = {
|
||||||
enable = true;
|
enable = true;
|
||||||
goPath = ".go";
|
goPath = ".go";
|
||||||
};
|
};
|
||||||
|
|
||||||
home.file."Library/Application Support/go/env".text = ''
|
home.file."Library/Application Support/go/env".text = lib.optionalString isDarwin ''
|
||||||
GOTOOLCHAIN=path
|
GOTOOLCHAIN=path
|
||||||
GOPROXY=direct
|
GOPROXY=direct
|
||||||
'';
|
'';
|
||||||
|
|
|
||||||
19
system.nix
19
system.nix
|
|
@ -116,8 +116,8 @@
|
||||||
|
|
||||||
security.pam.enableSudoTouchIdAuth = true;
|
security.pam.enableSudoTouchIdAuth = true;
|
||||||
|
|
||||||
programs.zsh.enable = true;
|
|
||||||
programs.fish.enable = true;
|
programs.fish.enable = true;
|
||||||
|
programs.zsh.enable = true;
|
||||||
|
|
||||||
homebrew = {
|
homebrew = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
@ -143,14 +143,19 @@
|
||||||
taps = ["1password/tap"];
|
taps = ["1password/tap"];
|
||||||
};
|
};
|
||||||
|
|
||||||
home-manager.useGlobalPkgs = true;
|
home-manager = {
|
||||||
home-manager.useUserPackages = true;
|
useGlobalPkgs = true;
|
||||||
home-manager.extraSpecialArgs = {
|
useUserPackages = true;
|
||||||
ctpModule = catppuccin.homeManagerModules.catppuccin;
|
extraSpecialArgs = {
|
||||||
discord-applemusic-rich-presence = discord-applemusic-rich-presence.homeManagerModules.default;
|
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;
|
home-manager.users.ryanccn = import ./home.nix;
|
||||||
|
|
||||||
system.stateVersion = 4;
|
system.stateVersion = 4;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue