Compare commits

...

6 commits

Author SHA1 Message Date
a65c2d24a7
fix nixpkgs rev for t2pkgs 2026-03-27 13:44:23 +10:00
80d7e8489d
neofetch + helvum are unmaintained 2026-03-27 13:06:24 +10:00
5d6ef3f5ad
migrate MACBOOKI9 to unstable base 2026-03-27 13:06:07 +10:00
b9992fa47e
add t2 firmware substitutor 2026-03-27 13:05:49 +10:00
69eb9a1a93
remove nixpkgs-master 2026-03-27 13:05:13 +10:00
20d54b95e3
remove backup 2026-03-27 13:04:58 +10:00
14 changed files with 127 additions and 256 deletions

View file

@ -1,123 +0,0 @@
# Edit this configuration file to define what should be installed on
# your system. Help is available in the configuration.nix(5) man page, on
# https://search.nixos.org/options and in the NixOS manual (`nixos-help`).
{ config, lib, pkgs, ... }:
{
imports =
[ # Include the results of the hardware scan.
./hardware-configuration.nix
];
# Use the systemd-boot EFI boot loader.
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
# networking.hostName = "nixos"; # Define your hostname.
# Configure network connections interactively with nmcli or nmtui.
networking.networkmanager.enable = true;
# Set your time zone.
# time.timeZone = "Europe/Amsterdam";
# Configure network proxy if necessary
# networking.proxy.default = "http://user:password@proxy:port/";
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
# Select internationalisation properties.
# i18n.defaultLocale = "en_US.UTF-8";
# console = {
# font = "Lat2-Terminus16";
# keyMap = "us";
# useXkbConfig = true; # use xkb.options in tty.
# };
# Enable the X11 windowing system.
# services.xserver.enable = true;
# Configure keymap in X11
# services.xserver.xkb.layout = "us";
# services.xserver.xkb.options = "eurosign:e,caps:escape";
# Enable CUPS to print documents.
# services.printing.enable = true;
# Enable sound.
# services.pulseaudio.enable = true;
# OR
# services.pipewire = {
# enable = true;
# pulse.enable = true;
# };
# Enable touchpad support (enabled default in most desktopManager).
# services.libinput.enable = true;
# Define a user account. Don't forget to set a password with passwd.
# users.users.alice = {
# isNormalUser = true;
# extraGroups = [ "wheel" ]; # Enable sudo for the user.
# packages = with pkgs; [
# tree
# ];
# };
# programs.firefox.enable = true;
# List packages installed in system profile.
# You can use https://search.nixos.org/ to find more packages (and options).
# environment.systemPackages = with pkgs; [
# vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
# wget
# ];
# 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;
# };
# List services that you want to enable:
# Enable the OpenSSH daemon.
# services.openssh.enable = true;
# Open ports in the firewall.
# networking.firewall.allowedTCPPorts = [ ... ];
# networking.firewall.allowedUDPPorts = [ ... ];
# Or disable the firewall altogether.
# networking.firewall.enable = false;
# Copy the NixOS configuration file and link it from the resulting system
# (/run/current-system/configuration.nix). This is useful in case you
# accidentally delete configuration.nix.
# system.copySystemConfiguration = true;
# This option defines the first version of NixOS you have installed on this particular machine,
# and is used to maintain compatibility with application data (e.g. databases) created on older NixOS versions.
#
# Most users should NEVER change this value after the initial install, for any reason,
# even if you've upgraded your system to a new NixOS release.
#
# This value does NOT affect the Nixpkgs version your packages and OS are pulled from,
# so changing it will NOT upgrade your system - see https://nixos.org/manual/nixos/stable/#sec-upgrading for how
# to actually do that.
#
# This value being lower than the current NixOS release does NOT mean your system is
# out of date, out of support, or vulnerable.
#
# Do NOT change this value unless you have manually inspected all the changes it would make to your configuration,
# and migrated your data accordingly.
#
# For more information, see `man configuration.nix` or https://nixos.org/manual/nixos/stable/options#opt-system.stateVersion .
system.stateVersion = "25.11"; # Did you read the comment?
}

View file

@ -1,16 +0,0 @@
{
inputs = {
# This is pointing to an unstable release.
# If you prefer a stable release instead, you can this to the latest number shown here: https://nixos.org/download
# i.e. nixos-24.11
# Use `nix flake update` to update the flake to the latest revision of the chosen release channel.
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
};
outputs = inputs@{ self, nixpkgs, ... }: {
# NOTE: 'nixos' is the default hostname
nixosConfigurations.nixos = nixpkgs.lib.nixosSystem {
modules = [ ./configuration.nix ];
};
};
}

View file

@ -1,33 +0,0 @@
# Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{
imports =
[ (modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [ "xhci_pci" "nvme" "usbhid" "usb_storage" "sd_mod" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/c959876c-805c-4433-bb36-67eb13924c62";
fsType = "btrfs";
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/8CC6-6102";
fsType = "vfat";
options = [ "fmask=0077" "dmask=0077" ];
};
swapDevices =
[ { device = "/dev/disk/by-uuid/091b5706-ba96-44b9-89b7-9aa7e85b8221"; }
];
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}

83
flake.lock generated
View file

@ -340,6 +340,27 @@
"type": "github"
}
},
"home-manager-unstable": {
"inputs": {
"nixpkgs": [
"nixpkgs-unstable"
]
},
"locked": {
"lastModified": 1774561634,
"narHash": "sha256-3q1xsREjqdVIIwQQDZQ9y0YdBzP8gAxdwKoKnZSzJtU=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "7c046c63ac3b467c1d589b99d531da5b6520825a",
"type": "github"
},
"original": {
"owner": "nix-community",
"ref": "master",
"repo": "home-manager",
"type": "github"
}
},
"hyprcursor": {
"inputs": {
"hyprlang": [
@ -980,16 +1001,17 @@
},
"nixos-hardware": {
"locked": {
"lastModified": 1774465523,
"narHash": "sha256-4v7HPm63Q90nNn4fgkgKsjW1AH2Klw7XzPtHJr562nM=",
"lastModified": 1759582739,
"narHash": "sha256-spZegilADH0q5OngM86u6NmXxduCNv5eX9vCiUPhOYc=",
"owner": "NixOS",
"repo": "nixos-hardware",
"rev": "de895be946ad1d8aafa0bb6dfc7e7e0e9e466a29",
"rev": "3441b5242af7577230a78ffb03542add264179ab",
"type": "github"
},
"original": {
"owner": "NixOS",
"repo": "nixos-hardware",
"rev": "3441b5242af7577230a78ffb03542add264179ab",
"type": "github"
}
},
@ -1024,22 +1046,6 @@
"type": "github"
}
},
"nixpkgs-master": {
"locked": {
"lastModified": 1773068446,
"narHash": "sha256-MCEmktH6AFJH8Pg1rBGB2Q0FhS5z5K87IsMbUU8uzHI=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "70b7278e2c0acc26ad3360551bf9c15c5ccc0acd",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "master",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-nixcord": {
"locked": {
"lastModified": 1773222311,
@ -1056,33 +1062,49 @@
"type": "github"
}
},
"nixpkgs-unstable": {
"nixpkgs-t2-firmware": {
"locked": {
"lastModified": 1772773019,
"narHash": "sha256-E1bxHxNKfDoQUuvriG71+f+s/NT0qWkImXsYZNFFfCs=",
"lastModified": 1759381078,
"narHash": "sha256-gTrEEp5gEspIcCOx9PD8kMaF1iEmfBcTbO0Jag2QhQs=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "aca4d95fce4914b3892661bcb80b8087293536c6",
"rev": "7df7ff7d8e00218376575f0acdcc5d66741351ee",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"rev": "7df7ff7d8e00218376575f0acdcc5d66741351ee",
"type": "github"
}
},
"nixpkgs-unstable": {
"locked": {
"lastModified": 1774273680,
"narHash": "sha256-a++tZ1RQsDb1I0NHrFwdGuRlR5TORvCEUksM459wKUA=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "fdc7b8f7b30fdbedec91b71ed82f36e1637483ed",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_2": {
"locked": {
"lastModified": 1772822230,
"narHash": "sha256-yf3iYLGbGVlIthlQIk5/4/EQDZNNEmuqKZkQssMljuw=",
"owner": "nixos",
"lastModified": 1774388614,
"narHash": "sha256-tFwzTI0DdDzovdE9+Ras6CUss0yn8P9XV4Ja6RjA+nU=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "71caefce12ba78d84fe618cf61644dce01cf3a96",
"rev": "1073dad219cb244572b74da2b20c7fe39cb3fa9e",
"type": "github"
},
"original": {
"owner": "nixos",
"owner": "NixOS",
"ref": "nixos-25.11",
"repo": "nixpkgs",
"type": "github"
@ -1154,6 +1176,7 @@
"cerulean": "cerulean",
"grub2-themes": "grub2-themes",
"home-manager": "home-manager",
"home-manager-unstable": "home-manager-unstable",
"hyprland": "hyprland",
"millennium": "millennium",
"nix-flatpak": "nix-flatpak",
@ -1161,7 +1184,7 @@
"nixcord": "nixcord",
"nixos-hardware": "nixos-hardware",
"nixpkgs": "nixpkgs_2",
"nixpkgs-master": "nixpkgs-master",
"nixpkgs-t2-firmware": "nixpkgs-t2-firmware",
"nixpkgs-unstable": "nixpkgs-unstable",
"sddm-silent": "sddm-silent",
"systems": "systems_3",

View file

@ -4,16 +4,21 @@
inputs = {
systems.url = "github:nix-systems/default-linux";
nixpkgs.url = "github:nixos/nixpkgs/nixos-25.11";
nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable";
nixpkgs-master.url = "github:NixOS/nixpkgs/master";
nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.11";
nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
# WARNING: don't update the revision! it breaks the t2-firmware from nixos-hardware...
nixpkgs-t2-firmware.url = "github:NixOS/nixpkgs?rev=7df7ff7d8e00218376575f0acdcc5d66741351ee";
nixos-hardware.url = "github:NixOS/nixos-hardware";
nixos-hardware.url = "github:NixOS/nixos-hardware?rev=3441b5242af7577230a78ffb03542add264179ab";
home-manager = {
url = "github:nix-community/home-manager/release-25.11";
inputs.nixpkgs.follows = "nixpkgs";
};
home-manager-unstable = {
url = "github:nix-community/home-manager/master";
inputs.nixpkgs.follows = "nixpkgs-unstable";
};
cerulean = {
url = "github:cry128/cerulean/refactor/snowflake";
@ -72,6 +77,9 @@
nixConfig = {
extra-experimental-features = "pipe-operators";
extra-trusted-substituters = ["https://cache.soopy.moe"];
extra-substituters = ["https://cache.soopy.moe"];
extra-trusted-public-keys = ["cache.soopy.moe-1:0RZVsQeR+GOh0VQI9rvnHz55nVXkFardDqfm4+afjPo="];
};
outputs = {cerulean, ...} @ inputs:

View file

@ -59,7 +59,7 @@
wl-screenrec # screen recording utility
# Userland Applications
helvum
qpwgraph
easyeffects
pavucontrol
qbittorrent # torrenting

View file

@ -1,12 +1,12 @@
{pkgs, ...}: {
home.packages = with pkgs; [
neofetch
fastfetch
];
programs.hyfetch = {
enable = true;
settings = {
backend = "neofetch";
backend = "fastfetch";
args = null;
distro = null;

View file

@ -6,7 +6,7 @@
}: {
imports = [
./hardware.nix
../modules/core/t2-firmware.nix
../modules/core/t2-firmware
];
networking.hostName = "MACBOOKI9";

View file

@ -1,34 +0,0 @@
{
inputs,
pkgs,
...
}: {
imports = [
inputs.nixos-hardware.nixosModules.apple-t2
];
environment.systemPackages = with pkgs; [
# t2-firmware dependencies
# REF: https://github.com/t2linux/nixos-t2-iso
python3
dmg2img
# get-apple-firmware
];
hardware = {
apple.touchBar.enable = true;
# REF: https://github.com/NixOS/nixos-hardware/blob/master/apple/t2/default.nix
apple-t2 = {
# the macbook does not have an AMD dGPU (iGPU)
enableIGPU = false;
kernelChannel = "stable";
firmware = {
enable = true;
version = "sonoma";
};
};
};
}

View file

@ -0,0 +1,57 @@
# REF: https://github.com/t2linux/nixos-t2-iso
{
inputs,
pkgs,
t2pkgs,
...
} @ args: {
imports = [
(import inputs.nixos-hardware.nixosModules.apple-t2 (args // {pkgs = t2pkgs;}))
];
nix.settings = {
trusted-substituters = [
"https://t2linux.cachix.org"
];
trusted-public-keys = [
"t2linux.cachix.org-1:P733c5Gt1qTcxsm+Bae0renWnT8OLs0u9+yfaK2Bejw="
];
};
# cerulean channels configuration
nixpkgs.channels.t2pkgs = {
source = inputs.nixpkgs-t2-firmware;
config = {
allowUnfree = true;
allowBroken = false;
};
overlays = [
(self: super: {
get-apple-firmware = super.callPackage ./get-apple-firmware.nix {};
})
];
};
# environment.systemPackages = with base; [
# python3
# dmg2img
# get-apple-firmware
# ];
# hardware = {
# apple.touchBar.enable = true;
# # REF: https://github.com/NixOS/nixos-hardware/blob/master/apple/t2/default.nix
# apple-t2 = {
# # the macbook does not have an AMD dGPU (iGPU)
# enableIGPU = false;
# kernelChannel = "stable";
# firmware = {
# enable = true;
# version = "sonoma";
# };
# };
# };
}

View file

@ -28,15 +28,5 @@ in {
allowBroken = false;
};
};
# nixpkgs-master
mpkgs = {
source = inputs.nixpkgs-master;
overlays = [] ++ sharedOverlays;
config = {
allowUnfree = true;
allowBroken = false;
};
};
};
}

View file

@ -24,8 +24,6 @@
];
};
get-apple-firmware = pkgs.callPackage ../packages/get-apple-firmware.nix {};
sddm-theme-corners = import ../packages/sddm-theme/corners.nix {
inherit pkgs;
};

View file

@ -19,6 +19,7 @@
MACBOOKI9 = {
system = "x86_64-linux";
groups = groups: [groups.desktops];
modules = with inputs; [
grub2-themes.nixosModules.default
nix-flatpak.nixosModules.nix-flatpak