Compare commits
10 Commits
nixbsd
...
nix-darwin
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b4d5e44b6b
|
||
|
|
1845b1ac30
|
||
|
|
4a772b7276
|
||
|
|
0e231428df
|
||
|
|
27b5c0c9ab
|
||
|
|
54e97da71d
|
||
|
|
58c78c50e6
|
||
|
|
e2ed4013c5
|
||
|
|
3aefe7c0b5
|
||
|
|
a2485dcfe0
|
@@ -36,6 +36,7 @@ in
|
|||||||
./roles/emacs
|
./roles/emacs
|
||||||
./roles/emulate_isa
|
./roles/emulate_isa
|
||||||
./roles/esim
|
./roles/esim
|
||||||
|
./roles/exfat
|
||||||
./roles/firefox
|
./roles/firefox
|
||||||
./roles/firewall
|
./roles/firewall
|
||||||
./roles/flux
|
./roles/flux
|
||||||
@@ -117,14 +118,14 @@ in
|
|||||||
nix.settings.experimental-features = [
|
nix.settings.experimental-features = [
|
||||||
"nix-command"
|
"nix-command"
|
||||||
"flakes"
|
"flakes"
|
||||||
"ca-derivations"
|
# "ca-derivations"
|
||||||
# "blake3-hashes"
|
# "blake3-hashes"
|
||||||
# "git-hashing"
|
# "git-hashing"
|
||||||
];
|
];
|
||||||
nix.settings.trusted-users = [ "@wheel" ];
|
nix.settings.trusted-users = [ "@wheel" ];
|
||||||
nix.settings.connect-timeout = 5;
|
nix.settings.connect-timeout = 5;
|
||||||
nix.settings.min-free = 128000000;
|
nix.settings.min-free = 5 * 1024 * 1024 * 1024; # Kick off garbage collect if space for nix store is less than 5 GiB
|
||||||
nix.settings.max-free = 1000000000;
|
nix.settings.max-free = 10 * 1024 * 1024 * 1024; # Run that garbage collect until at least 10 GiB are free.
|
||||||
nix.settings.fallback = true;
|
nix.settings.fallback = true;
|
||||||
nix.settings.warn-dirty = false;
|
nix.settings.warn-dirty = false;
|
||||||
nix.settings.fsync-metadata = true;
|
nix.settings.fsync-metadata = true;
|
||||||
|
|||||||
8
nix/configuration/flake.lock
generated
8
nix/configuration/flake.lock
generated
@@ -170,11 +170,11 @@
|
|||||||
"rust-overlay": "rust-overlay_2"
|
"rust-overlay": "rust-overlay_2"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1785893798,
|
"lastModified": 1786250497,
|
||||||
"narHash": "sha256-69nKdvM+E/66sj9R2HEK8i0p0TOt/0MSqfXiZjcJ9nI=",
|
"narHash": "sha256-OPhVT5n9OyPDZA3mIO6D5jVVvp/QmG8nT5Trb0gouSs=",
|
||||||
"ref": "refs/heads/main",
|
"ref": "refs/heads/main",
|
||||||
"rev": "6386febdb81eb1e072ad7cb568019f06618008fe",
|
"rev": "0a270dcbdd51baa2895634a3baee29373db8337a",
|
||||||
"revCount": 41,
|
"revCount": 42,
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://code.fizz.buzz/talexander/nix_builder.git"
|
"url": "https://code.fizz.buzz/talexander/nix_builder.git"
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -94,6 +94,7 @@
|
|||||||
me.emacs_flavor = "full";
|
me.emacs_flavor = "full";
|
||||||
me.emulate_isa.enable = true;
|
me.emulate_isa.enable = true;
|
||||||
me.esim.enable = true;
|
me.esim.enable = true;
|
||||||
|
me.exfat.enable = true;
|
||||||
me.firefox.enable = true;
|
me.firefox.enable = true;
|
||||||
me.firewall.enable = true;
|
me.firewall.enable = true;
|
||||||
me.flux.enable = true;
|
me.flux.enable = true;
|
||||||
@@ -164,7 +165,7 @@
|
|||||||
me.zrepl.enable = true;
|
me.zrepl.enable = true;
|
||||||
me.zsh.enable = true;
|
me.zsh.enable = true;
|
||||||
|
|
||||||
me.sm64ex.enable = true;
|
me.sm64ex.enable = false;
|
||||||
me.shipwright.enable = false;
|
me.shipwright.enable = false;
|
||||||
me.ship2harkinian.enable = true;
|
me.ship2harkinian.enable = true;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
config = {
|
config = {
|
||||||
me.distributed_build.enable = true;
|
me.distributed_build.enable = true;
|
||||||
me.distributed_build.machines.quark = {
|
me.distributed_build.machines.quark = {
|
||||||
enable_build = false;
|
enable_build = true;
|
||||||
enable_substituter = false;
|
enable_substituter = false;
|
||||||
additional_config = {
|
additional_config = {
|
||||||
speedFactor = 2;
|
speedFactor = 2;
|
||||||
|
|||||||
@@ -159,7 +159,7 @@
|
|||||||
me.zrepl.enable = true;
|
me.zrepl.enable = true;
|
||||||
me.zsh.enable = true;
|
me.zsh.enable = true;
|
||||||
|
|
||||||
me.sm64ex.enable = true;
|
me.sm64ex.enable = false;
|
||||||
me.shipwright.enable = false;
|
me.shipwright.enable = false;
|
||||||
me.ship2harkinian.enable = true;
|
me.ship2harkinian.enable = true;
|
||||||
};
|
};
|
||||||
|
|||||||
26
nix/configuration/roles/exfat/default.nix
Normal file
26
nix/configuration/roles/exfat/default.nix
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports = [ ];
|
||||||
|
|
||||||
|
options.me = {
|
||||||
|
exfat.enable = lib.mkOption {
|
||||||
|
type = lib.types.bool;
|
||||||
|
default = false;
|
||||||
|
example = true;
|
||||||
|
description = "Whether we want to install exfat.";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf config.me.exfat.enable {
|
||||||
|
# boot.supportedFilesystems = [ "exfat" ];
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
exfatprogs
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -61,6 +61,7 @@
|
|||||||
systemd.services."build-cache" =
|
systemd.services."build-cache" =
|
||||||
let
|
let
|
||||||
enabled_targets = [
|
enabled_targets = [
|
||||||
|
"wip"
|
||||||
"odo"
|
"odo"
|
||||||
"odo_update"
|
"odo_update"
|
||||||
"odowork"
|
"odowork"
|
||||||
|
|||||||
@@ -1,5 +1,12 @@
|
|||||||
output_directory = "/home/nixworker/persist/nix_builder"
|
output_directory = "/home/nixworker/persist/nix_builder"
|
||||||
|
|
||||||
|
[[targets]]
|
||||||
|
name = "wip"
|
||||||
|
repo = "https://code.fizz.buzz/talexander/machine_setup.git"
|
||||||
|
branch = "wip"
|
||||||
|
path = "nix/configuration"
|
||||||
|
attr = "nixosConfigurations.odo.config.system.build.toplevel"
|
||||||
|
|
||||||
[[targets]]
|
[[targets]]
|
||||||
name = "odo"
|
name = "odo"
|
||||||
repo = "https://code.fizz.buzz/talexander/machine_setup.git"
|
repo = "https://code.fizz.buzz/talexander/machine_setup.git"
|
||||||
@@ -180,10 +187,10 @@ output_directory = "/home/nixworker/persist/nix_builder"
|
|||||||
|
|
||||||
[[targets]]
|
[[targets]]
|
||||||
name = "nixbsd"
|
name = "nixbsd"
|
||||||
repo = "https://github.com/nixos-bsd/nixbsd.git"
|
repo = "https://code.fizz.buzz/talexander/machine_setup.git"
|
||||||
revision = "2b512eda58e6d77378bd20d6027802b158942e24"
|
branch = "nixbsd"
|
||||||
path = "."
|
path = "nix/nixbsd"
|
||||||
attr = "base.vmClosureInfo"
|
attr = "computer.vm"
|
||||||
|
|
||||||
[[targets]]
|
[[targets]]
|
||||||
name = "nix_builder_develop"
|
name = "nix_builder_develop"
|
||||||
|
|||||||
@@ -81,6 +81,10 @@ in
|
|||||||
# Demon's Souls per-game config.
|
# Demon's Souls per-game config.
|
||||||
source = ./files/config_BLUS30443.yml;
|
source = ./files/config_BLUS30443.yml;
|
||||||
};
|
};
|
||||||
|
".config/rpcs3/custom_configs/config_BLUS30421.yml" = {
|
||||||
|
# The Lord of the Rings The War in the North per-game config.
|
||||||
|
source = ./files/config_BLUS30421.yml;
|
||||||
|
};
|
||||||
".config/rpcs3/patches/patch.yml" = {
|
".config/rpcs3/patches/patch.yml" = {
|
||||||
# All of the available patches.
|
# All of the available patches.
|
||||||
source = ./files/patch.yml;
|
source = ./files/patch.yml;
|
||||||
|
|||||||
14
nix/configuration/roles/rpcs3/files/config_BLUS30421.yml
Normal file
14
nix/configuration/roles/rpcs3/files/config_BLUS30421.yml
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
Core:
|
||||||
|
SPU Block Size: Safe
|
||||||
|
Video:
|
||||||
|
Write Color Buffers: true
|
||||||
|
Minimum Scalable Dimension: 640
|
||||||
|
Net:
|
||||||
|
Internet enabled: Connected
|
||||||
|
IP address: 0.0.0.0
|
||||||
|
Bind address: 0.0.0.0
|
||||||
|
DNS address: 8.8.8.8
|
||||||
|
IP swap list: ""
|
||||||
|
UPNP Enabled: false
|
||||||
|
PSN status: RPCN
|
||||||
|
PSN Country: us
|
||||||
@@ -41,7 +41,7 @@
|
|||||||
nix.settings.experimental-features = [
|
nix.settings.experimental-features = [
|
||||||
"nix-command"
|
"nix-command"
|
||||||
"flakes"
|
"flakes"
|
||||||
"ca-derivations"
|
# "ca-derivations"
|
||||||
# "blake3-hashes"
|
# "blake3-hashes"
|
||||||
# "git-hashing"
|
# "git-hashing"
|
||||||
];
|
];
|
||||||
|
|||||||
49
nix/nix-darwin/flake.lock
generated
Normal file
49
nix/nix-darwin/flake.lock
generated
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
{
|
||||||
|
"nodes": {
|
||||||
|
"nix-darwin": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1785389976,
|
||||||
|
"narHash": "sha256-0tLW8Ff5yt8AH97jw4ZpFJ0OCJ122zIlgWGDmOfU/VU=",
|
||||||
|
"owner": "nix-darwin",
|
||||||
|
"repo": "nix-darwin",
|
||||||
|
"rev": "15abb8c98f336cd8bd840d71059adebabe60bf04",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-darwin",
|
||||||
|
"ref": "master",
|
||||||
|
"repo": "nix-darwin",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1786348146,
|
||||||
|
"narHash": "sha256-we5zDEFfn8TgzeWKjKDMIjeQZ59omEPl23NIF+13/ys=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "d482ef84049d9b7276b83a06e4e4d76983830097",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "nixpkgs-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": {
|
||||||
|
"inputs": {
|
||||||
|
"nix-darwin": "nix-darwin",
|
||||||
|
"nixpkgs": "nixpkgs"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": "root",
|
||||||
|
"version": 7
|
||||||
|
}
|
||||||
128
nix/nix-darwin/flake.nix
Normal file
128
nix/nix-darwin/flake.nix
Normal file
@@ -0,0 +1,128 @@
|
|||||||
|
# Initial install:
|
||||||
|
# Install nix: https://github.com/nixOS/nix-installer
|
||||||
|
# sudo nix run nix-darwin -- switch --flake .#garak
|
||||||
|
#
|
||||||
|
# Update after that:
|
||||||
|
# sudo darwin-rebuild switch --flake .#garak
|
||||||
|
#
|
||||||
|
# Manual:
|
||||||
|
# Install rosetta to run x86_64 programs:
|
||||||
|
# softwareupdate --install-rosetta --agree-to-license
|
||||||
|
#
|
||||||
|
# Install homebrew for installing graphical apps:
|
||||||
|
# /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
|
||||||
|
{
|
||||||
|
description = "nix-darwin system flake";
|
||||||
|
|
||||||
|
inputs = {
|
||||||
|
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
|
||||||
|
nix-darwin.url = "github:nix-darwin/nix-darwin/master";
|
||||||
|
nix-darwin.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
|
||||||
|
outputs = inputs@{ self, nix-darwin, nixpkgs }:
|
||||||
|
let
|
||||||
|
configuration = { pkgs, ... }: {
|
||||||
|
# List packages installed in system profile. To search by name, run:
|
||||||
|
# $ nix-env -qaP | grep wget
|
||||||
|
environment.systemPackages =
|
||||||
|
[
|
||||||
|
pkgs.tmux
|
||||||
|
pkgs.htop
|
||||||
|
pkgs.git
|
||||||
|
];
|
||||||
|
|
||||||
|
# Necessary for using flakes on this system.
|
||||||
|
nix.settings.experimental-features = "nix-command flakes";
|
||||||
|
|
||||||
|
# Enable alternative shell support in nix-darwin.
|
||||||
|
# programs.fish.enable = true;
|
||||||
|
|
||||||
|
# Set Git commit hash for darwin-version.
|
||||||
|
system.configurationRevision = self.rev or self.dirtyRev or null;
|
||||||
|
|
||||||
|
# Used for backwards compatibility, please read the changelog before changing.
|
||||||
|
# $ darwin-rebuild changelog
|
||||||
|
system.stateVersion = 6;
|
||||||
|
|
||||||
|
# The platform the configuration will be used on.
|
||||||
|
nixpkgs.hostPlatform = "aarch64-darwin";
|
||||||
|
|
||||||
|
# Identifies which user some settings apply to.
|
||||||
|
system.primaryUser = "talexander";
|
||||||
|
|
||||||
|
# Enable Linux VM for building Linux binaries.
|
||||||
|
#
|
||||||
|
# Test with:
|
||||||
|
# nix build --impure --expr '(with import <nixpkgs> { system = "aarch64-linux"; }; runCommand "foo" {} "uname -a > $out")'
|
||||||
|
nix.linux-builder.enable = true;
|
||||||
|
|
||||||
|
# system.defaults.CustomUserPreferences = {
|
||||||
|
# "com.apple.desktopservices" = {
|
||||||
|
# # Do not write .DS_Store files to external volumes
|
||||||
|
# DSDontWriteNetworkStores = true;
|
||||||
|
# DSDontWriteUSBStores = true;
|
||||||
|
# };
|
||||||
|
# "com.apple.screensaver" = {
|
||||||
|
# # Ask for password when returning from screensaver
|
||||||
|
# askForPassword = 1;
|
||||||
|
# askForPasswordDelay = 0;
|
||||||
|
# };
|
||||||
|
# "com.apple.SoftwareUpdate" = {
|
||||||
|
# AutomaticCheckEnabled = true;
|
||||||
|
# # Download updates in the background
|
||||||
|
# AutomaticDownload = 1;
|
||||||
|
# };
|
||||||
|
# };
|
||||||
|
|
||||||
|
# Use homebrew to install graphical apps from casks.
|
||||||
|
# homebrew = {
|
||||||
|
# enable = false;
|
||||||
|
|
||||||
|
# casks = [
|
||||||
|
# "firefox"
|
||||||
|
# ];
|
||||||
|
# };
|
||||||
|
|
||||||
|
# system.defaults = {
|
||||||
|
# dock = {
|
||||||
|
# autohide = true;
|
||||||
|
# };
|
||||||
|
# };
|
||||||
|
|
||||||
|
environment.variables = {
|
||||||
|
TERMINFO_DIRS = ["${pkgs.alacritty.terminfo.outPath}/share/terminfo"];
|
||||||
|
};
|
||||||
|
|
||||||
|
power = {
|
||||||
|
sleep = {
|
||||||
|
# sudo pmset -a displaysleep 10 sleep 0 disksleep 10
|
||||||
|
# Other options to consider: lowpowermode 0 standby 0 hibernatemode 0 powernap 0
|
||||||
|
#
|
||||||
|
# Defaults:
|
||||||
|
# standby 0
|
||||||
|
# Sleep On Power Button 1
|
||||||
|
# autorestartatconnect 0
|
||||||
|
# autorestart 0
|
||||||
|
# powernap 1
|
||||||
|
# networkoversleep 0
|
||||||
|
# disksleep 10
|
||||||
|
# sleep 1
|
||||||
|
# ttyskeepawake 1
|
||||||
|
# displaysleep 10
|
||||||
|
# tcpkeepalive 1
|
||||||
|
# womp 1
|
||||||
|
#
|
||||||
|
computer = "never";
|
||||||
|
display = 10;
|
||||||
|
harddisk = 10;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
in
|
||||||
|
{
|
||||||
|
darwinConfigurations."garak" = nix-darwin.lib.darwinSystem {
|
||||||
|
modules = [ configuration ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
209
nix/nixbsd/flake.lock
generated
209
nix/nixbsd/flake.lock
generated
@@ -1,209 +0,0 @@
|
|||||||
{
|
|
||||||
"nodes": {
|
|
||||||
"cppnix": {
|
|
||||||
"inputs": {
|
|
||||||
"flake-compat": "flake-compat",
|
|
||||||
"flake-parts": "flake-parts",
|
|
||||||
"git-hooks-nix": "git-hooks-nix",
|
|
||||||
"nixpkgs": [
|
|
||||||
"nixbsd",
|
|
||||||
"nixpkgs"
|
|
||||||
],
|
|
||||||
"nixpkgs-23-11": "nixpkgs-23-11",
|
|
||||||
"nixpkgs-regression": "nixpkgs-regression"
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1781190364,
|
|
||||||
"narHash": "sha256-uP1AYpXYHdzmuz+a4AcScRIHa1uy7l9ObZovS0OqN70=",
|
|
||||||
"owner": "nixos",
|
|
||||||
"repo": "nix",
|
|
||||||
"rev": "ce9fda43e5cb8d2f6c57c7240d05d10ad0415799",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nixos",
|
|
||||||
"repo": "nix",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"flake-compat": {
|
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1767039857,
|
|
||||||
"narHash": "sha256-vNpUSpF5Nuw8xvDLj2KCwwksIbjua2LZCqhV1LNRDns=",
|
|
||||||
"owner": "NixOS",
|
|
||||||
"repo": "flake-compat",
|
|
||||||
"rev": "5edf11c44bc78a0d334f6334cdaf7d60d732daab",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "NixOS",
|
|
||||||
"repo": "flake-compat",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"flake-compat_2": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1733328505,
|
|
||||||
"narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=",
|
|
||||||
"rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec",
|
|
||||||
"revCount": 69,
|
|
||||||
"type": "tarball",
|
|
||||||
"url": "https://api.flakehub.com/f/pinned/edolstra/flake-compat/1.1.0/01948eb7-9cba-704f-bbf3-3fa956735b52/source.tar.gz"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"type": "tarball",
|
|
||||||
"url": "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"flake-parts": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs-lib": [
|
|
||||||
"nixbsd",
|
|
||||||
"cppnix",
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1778716662,
|
|
||||||
"narHash": "sha256-m1Yf0wZ8j1OHjTc2UwHwyQRSnNeSgLJOd7q5Y45hzi4=",
|
|
||||||
"owner": "hercules-ci",
|
|
||||||
"repo": "flake-parts",
|
|
||||||
"rev": "f7c1a2d347e4c52d5fb8d10cb4d94b5884e546fb",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "hercules-ci",
|
|
||||||
"repo": "flake-parts",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"git-hooks-nix": {
|
|
||||||
"inputs": {
|
|
||||||
"flake-compat": [
|
|
||||||
"nixbsd",
|
|
||||||
"cppnix"
|
|
||||||
],
|
|
||||||
"gitignore": [
|
|
||||||
"nixbsd",
|
|
||||||
"cppnix"
|
|
||||||
],
|
|
||||||
"nixpkgs": [
|
|
||||||
"nixbsd",
|
|
||||||
"cppnix",
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1778507602,
|
|
||||||
"narHash": "sha256-kTwur1wV+01SdqskVMSo6JMEpg71ps3HpbFY2GsflKs=",
|
|
||||||
"owner": "cachix",
|
|
||||||
"repo": "git-hooks.nix",
|
|
||||||
"rev": "61ab0e80d9c7ab14c256b5b453d8b3fb0189ba0a",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "cachix",
|
|
||||||
"repo": "git-hooks.nix",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"mini-tmpfiles": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": [
|
|
||||||
"nixbsd",
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1742754557,
|
|
||||||
"narHash": "sha256-nGxgiNhA94eSl8jcQwCboJ5Ed132z8yrFdOoT+rf8bE=",
|
|
||||||
"owner": "nixos-bsd",
|
|
||||||
"repo": "mini-tmpfiles",
|
|
||||||
"rev": "534ee577692c7092fdcd035f89bc29b663c6f9ca",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nixos-bsd",
|
|
||||||
"repo": "mini-tmpfiles",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixbsd": {
|
|
||||||
"inputs": {
|
|
||||||
"cppnix": "cppnix",
|
|
||||||
"flake-compat": "flake-compat_2",
|
|
||||||
"mini-tmpfiles": "mini-tmpfiles",
|
|
||||||
"nixpkgs": [
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1783703343,
|
|
||||||
"narHash": "sha256-kt38BGQYWXUtNgTV/hCx0tf8IZJFuEGE3/IYoRutha4=",
|
|
||||||
"owner": "nixos-bsd",
|
|
||||||
"repo": "nixbsd",
|
|
||||||
"rev": "2b512eda58e6d77378bd20d6027802b158942e24",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nixos-bsd",
|
|
||||||
"repo": "nixbsd",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1783693695,
|
|
||||||
"narHash": "sha256-4eOaoE0Z2OR28W/vdzp1H9Qkl84ajh7tdVsfNwTuG5U=",
|
|
||||||
"rev": "dc29ee8fa098c86053cc8ef25594738f28be5b6b",
|
|
||||||
"type": "tarball",
|
|
||||||
"url": "https://releases.nixos.org/nixos/unstable-small/nixos-26.11pre1032146.dc29ee8fa098/nixexprs.tar.xz"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"type": "tarball",
|
|
||||||
"url": "https://channels.nixos.org/nixos-unstable-small/nixexprs.tar.xz"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs-23-11": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1717159533,
|
|
||||||
"narHash": "sha256-oamiKNfr2MS6yH64rUn99mIZjc45nGJlj9eGth/3Xuw=",
|
|
||||||
"owner": "NixOS",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "a62e6edd6d5e1fa0329b8653c801147986f8d446",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "NixOS",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "a62e6edd6d5e1fa0329b8653c801147986f8d446",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs-regression": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1643052045,
|
|
||||||
"narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=",
|
|
||||||
"owner": "NixOS",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "NixOS",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"root": {
|
|
||||||
"inputs": {
|
|
||||||
"nixbsd": "nixbsd",
|
|
||||||
"nixpkgs": "nixpkgs"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"root": "root",
|
|
||||||
"version": 7
|
|
||||||
}
|
|
||||||
@@ -1,111 +0,0 @@
|
|||||||
# nix build .#computer.vm
|
|
||||||
# result/bin/run-nixbsd-base-vm
|
|
||||||
{
|
|
||||||
description = "NixBSD Flake";
|
|
||||||
|
|
||||||
inputs = {
|
|
||||||
nixpkgs.url = "https://channels.nixos.org/nixos-unstable-small/nixexprs.tar.xz";
|
|
||||||
# nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
|
||||||
nixbsd = {
|
|
||||||
url = "github:nixos-bsd/nixbsd";
|
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
outputs =
|
|
||||||
{
|
|
||||||
self,
|
|
||||||
nixpkgs,
|
|
||||||
nixbsd,
|
|
||||||
...
|
|
||||||
}@inputs:
|
|
||||||
let
|
|
||||||
forAllSystems =
|
|
||||||
func:
|
|
||||||
builtins.listToAttrs (
|
|
||||||
map (system: {
|
|
||||||
name = system;
|
|
||||||
value = func system;
|
|
||||||
}) nixpkgs.lib.systems.flakeExposed
|
|
||||||
);
|
|
||||||
makeImage =
|
|
||||||
buildPlatform: conf:
|
|
||||||
let
|
|
||||||
extended = conf.extendModules {
|
|
||||||
modules = [
|
|
||||||
{
|
|
||||||
config.nixpkgs.buildPlatform = buildPlatform;
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
in
|
|
||||||
extended.config.system.build
|
|
||||||
// {
|
|
||||||
# appease `nix flake show`
|
|
||||||
type = "derivation";
|
|
||||||
name = "system-build";
|
|
||||||
|
|
||||||
closureInfo = extended.pkgs.closureInfo {
|
|
||||||
rootPaths = [ extended.config.system.build.toplevel.drvPath ];
|
|
||||||
};
|
|
||||||
vmClosureInfo = extended.pkgs.closureInfo {
|
|
||||||
rootPaths = [ extended.config.system.build.vm.drvPath ];
|
|
||||||
};
|
|
||||||
system = extended.config.system.build.toplevel;
|
|
||||||
inherit (extended) pkgs config;
|
|
||||||
};
|
|
||||||
in
|
|
||||||
{
|
|
||||||
nixosConfigurations.computer = nixbsd.lib.nixbsdSystem {
|
|
||||||
system = "x86_64-freebsd";
|
|
||||||
modules = [
|
|
||||||
(
|
|
||||||
{ config, lib, ... }:
|
|
||||||
{
|
|
||||||
nixpkgs.hostPlatform = "x86_64-freebsd";
|
|
||||||
networking.hostName = "computer";
|
|
||||||
|
|
||||||
users.users.root.initialPassword = "toor";
|
|
||||||
|
|
||||||
# Don't make me wait for an address...
|
|
||||||
networking.dhcpcd.wait = "background";
|
|
||||||
|
|
||||||
users.users.talexander = {
|
|
||||||
isNormalUser = true;
|
|
||||||
description = "me";
|
|
||||||
extraGroups = [ "wheel" ];
|
|
||||||
inherit (config.users.users.root) initialPassword;
|
|
||||||
};
|
|
||||||
|
|
||||||
services.sshd.enable = true;
|
|
||||||
boot.loader.stand-freebsd.enable = true;
|
|
||||||
|
|
||||||
fileSystems."/" = {
|
|
||||||
device = "/dev/gpt/nixos";
|
|
||||||
fsType = "ufs";
|
|
||||||
};
|
|
||||||
|
|
||||||
fileSystems."/boot" = {
|
|
||||||
device = "/dev/msdosfs/ESP";
|
|
||||||
fsType = "msdosfs";
|
|
||||||
};
|
|
||||||
|
|
||||||
virtualisation.vmVariant.virtualisation.diskImage = "./${config.system.name}.qcow2";
|
|
||||||
|
|
||||||
system.stateVersion = "26.11";
|
|
||||||
}
|
|
||||||
)
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
packages = forAllSystems (
|
|
||||||
system:
|
|
||||||
nixpkgs.lib.mapAttrs (name: makeImage system) self.nixosConfigurations
|
|
||||||
// {
|
|
||||||
tools =
|
|
||||||
nixpkgs.legacyPackages.${system}.callPackages "${nixbsd}/modules/installer/tools/package.nix"
|
|
||||||
{ };
|
|
||||||
}
|
|
||||||
);
|
|
||||||
};
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user