From cde45f87fd623166e23ad92abd64806c3bb60c87 Mon Sep 17 00:00:00 2001 From: Youwen Wu Date: Wed, 7 Aug 2024 05:55:39 -0700 Subject: [PATCH] feat: successfully compile on callisto (asahi aarch64) --- LICENSE | 0 README.md | 0 config/neofetch.conf | 0 flake.lock | 58 +++++++++++++++++- flake.nix | 36 ++++++----- hosts/callisto/default.nix | 54 ++++++++++------ hosts/callisto/default.nix.bak | 0 hosts/callisto/hardware-configuration.nix | 22 +++---- modules/common/fonts.nix | 0 modules/darwin/darwin-configuration.nix | 0 modules/darwin/homebrew.nix | 0 modules/darwin/yabai.nix | 0 modules/nixos/audio.nix | 0 modules/nixos/gaming.nix | 0 modules/nixos/networking.nix | 0 modules/nixos/nvidia.nix | 0 modules/nixos/secureboot.nix | 0 users/youwen/common/core.nix | 0 users/youwen/darwin/darwin-home.nix | 0 users/youwen/linux/catppuccin.nix | 0 users/youwen/linux/desktop.nix | 0 users/youwen/linux/hyprland-conf.nix | 0 users/youwen/linux/linux-home.nix | 10 +-- users/youwen/linux/programs.nix | 0 users/youwen/linux/waybar/waybar-conf.nix | 0 users/youwen/linux/waybar/waybar.css | 0 wallpapers/aesthetic/ign_colorful.png | Bin wallpapers/anime/frieren.jpg | Bin wallpapers/anime/kudou-chitose-normal.jpg | Bin wallpapers/anime/kudou-chitose-violet.png | Bin .../anime/nixos-sus-anime-wallpaper.png | Bin wallpapers/anime/nixos-sus-anime.png | Bin wallpapers/cityscapes/yellow_kyoto.jpg | Bin wallpapers/nixos/nix-neon.png | Bin wallpapers/nixos/nix-wallpaper.png | Bin wallpapers/nixos/nixos-ascii.png | Bin wallpapers/nixos/nixos-declarative.jpg | Bin wallpapers/nixos/nixos-everforest.webp | Bin wallpapers/nixos/nixos-hm.png | Bin .../nixos-wallpaper-catppuccin-macchiato.png | Bin wallpapers/retro/commodore.jpg | Bin 41 files changed, 125 insertions(+), 55 deletions(-) mode change 100644 => 100755 LICENSE mode change 100644 => 100755 README.md mode change 100644 => 100755 config/neofetch.conf mode change 100644 => 100755 hosts/callisto/default.nix.bak mode change 100644 => 100755 hosts/callisto/hardware-configuration.nix mode change 100644 => 100755 modules/common/fonts.nix mode change 100644 => 100755 modules/darwin/darwin-configuration.nix mode change 100644 => 100755 modules/darwin/homebrew.nix mode change 100644 => 100755 modules/darwin/yabai.nix mode change 100644 => 100755 modules/nixos/audio.nix mode change 100644 => 100755 modules/nixos/gaming.nix mode change 100644 => 100755 modules/nixos/networking.nix mode change 100644 => 100755 modules/nixos/nvidia.nix mode change 100644 => 100755 modules/nixos/secureboot.nix mode change 100644 => 100755 users/youwen/common/core.nix mode change 100644 => 100755 users/youwen/darwin/darwin-home.nix mode change 100644 => 100755 users/youwen/linux/catppuccin.nix mode change 100644 => 100755 users/youwen/linux/desktop.nix mode change 100644 => 100755 users/youwen/linux/hyprland-conf.nix mode change 100644 => 100755 users/youwen/linux/programs.nix mode change 100644 => 100755 users/youwen/linux/waybar/waybar-conf.nix mode change 100644 => 100755 users/youwen/linux/waybar/waybar.css mode change 100644 => 100755 wallpapers/aesthetic/ign_colorful.png mode change 100644 => 100755 wallpapers/anime/frieren.jpg mode change 100644 => 100755 wallpapers/anime/kudou-chitose-normal.jpg mode change 100644 => 100755 wallpapers/anime/kudou-chitose-violet.png mode change 100644 => 100755 wallpapers/anime/nixos-sus-anime-wallpaper.png mode change 100644 => 100755 wallpapers/anime/nixos-sus-anime.png mode change 100644 => 100755 wallpapers/cityscapes/yellow_kyoto.jpg mode change 100644 => 100755 wallpapers/nixos/nix-neon.png mode change 100644 => 100755 wallpapers/nixos/nix-wallpaper.png mode change 100644 => 100755 wallpapers/nixos/nixos-ascii.png mode change 100644 => 100755 wallpapers/nixos/nixos-declarative.jpg mode change 100644 => 100755 wallpapers/nixos/nixos-everforest.webp mode change 100644 => 100755 wallpapers/nixos/nixos-hm.png mode change 100644 => 100755 wallpapers/nixos/nixos-wallpaper-catppuccin-macchiato.png mode change 100644 => 100755 wallpapers/retro/commodore.jpg diff --git a/LICENSE b/LICENSE old mode 100644 new mode 100755 diff --git a/README.md b/README.md old mode 100644 new mode 100755 diff --git a/config/neofetch.conf b/config/neofetch.conf old mode 100644 new mode 100755 diff --git a/flake.lock b/flake.lock index 65f89da..537fe3c 100755 --- a/flake.lock +++ b/flake.lock @@ -1,5 +1,27 @@ { "nodes": { + "apple-silicon": { + "inputs": { + "flake-compat": "flake-compat", + "nixpkgs": [ + "nixpkgs" + ], + "rust-overlay": "rust-overlay" + }, + "locked": { + "lastModified": 1722469787, + "narHash": "sha256-P20oAmbgXHl1E77TXPXiAj1Ntycc1mf7fZMI7X13VYw=", + "owner": "tpwrules", + "repo": "nixos-apple-silicon", + "rev": "8a665fee82901878edaeb8ee120296a979db2dd2", + "type": "github" + }, + "original": { + "owner": "tpwrules", + "repo": "nixos-apple-silicon", + "type": "github" + } + }, "bleedingpkgs": { "locked": { "lastModified": 1722979953, @@ -70,6 +92,21 @@ } }, "flake-compat": { + "locked": { + "lastModified": 1688025799, + "narHash": "sha256-ktpB4dRtnksm9F5WawoIkEneh1nrEvuxb5lJFt1iOyw=", + "owner": "nix-community", + "repo": "flake-compat", + "rev": "8bf105319d44f6b9f0d764efa4fdef9f1cc9ba1c", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-compat_2": { "flake": false, "locked": { "lastModified": 1696426674, @@ -252,14 +289,14 @@ "lanzaboote": { "inputs": { "crane": "crane", - "flake-compat": "flake-compat", + "flake-compat": "flake-compat_2", "flake-parts": "flake-parts", "flake-utils": "flake-utils", "nixpkgs": [ "nixpkgs" ], "pre-commit-hooks-nix": "pre-commit-hooks-nix", - "rust-overlay": "rust-overlay" + "rust-overlay": "rust-overlay_2" }, "locked": { "lastModified": 1718178907, @@ -460,6 +497,7 @@ }, "root": { "inputs": { + "apple-silicon": "apple-silicon", "bleedingpkgs": "bleedingpkgs", "catppuccin": "catppuccin", "home-manager": "home-manager", @@ -474,6 +512,22 @@ } }, "rust-overlay": { + "flake": false, + "locked": { + "lastModified": 1686795910, + "narHash": "sha256-jDa40qRZ0GRQtP9EMZdf+uCbvzuLnJglTUI2JoHfWDc=", + "owner": "oxalica", + "repo": "rust-overlay", + "rev": "5c2b97c0a9bc5217fc3dfb1555aae0fb756d99f9", + "type": "github" + }, + "original": { + "owner": "oxalica", + "repo": "rust-overlay", + "type": "github" + } + }, + "rust-overlay_2": { "inputs": { "flake-utils": [ "lanzaboote", diff --git a/flake.nix b/flake.nix index c7da2a5..b7aebd3 100755 --- a/flake.nix +++ b/flake.nix @@ -32,10 +32,15 @@ "https://git.lix.systems/lix-project/nixos-module/archive/2.90.0.tar.gz"; inputs.nixpkgs.follows = "nixpkgs"; }; + apple-silicon = { + url = "github:tpwrules/nixos-apple-silicon"; + inputs.nixpkgs.follows = "nixpkgs"; + }; }; outputs = { self, nixpkgs, home-manager, catppuccin, lanzaboote, stablepkgs - , bleedingpkgs, lix-module, nix-darwin, nix-homebrew, ... }@inputs: rec { + , bleedingpkgs, lix-module, nix-darwin, nix-homebrew, apple-silicon, ... + }@inputs: rec { formatter.x86_64-linux = nixpkgs.legacyPackages.x86_64-linux.nixfmt; nixosConfigurations = { nixos = nixpkgs.lib.nixosSystem { @@ -63,7 +68,7 @@ home-manager.backupFileExtension = "backup"; home-manager.users.youwen = { imports = [ - ./users/youwen/linux/linux-home.nix + # ./users/youwen/linux/linux-home.nix ./users/youwen/linux/desktop.nix ./users/youwen/linux/programs.nix ./users/youwen/common/core.nix @@ -76,21 +81,19 @@ }; callisto = nixpkgs.lib.nixosSystem { specialArgs = { inherit inputs; }; - system = "x86_64-linux"; + system = "aarch64-linux"; modules = [ ./hosts/callisto - # ./modules/nixos/secureboot.nix # ./modules/nixos/gaming.nix - # ./modules/nixos/audio.nix - # ./modules/nixos/nvidia.nix - # ./modules/nixos/networking.nix - # ./modules/common/fonts.nix + ./modules/nixos/audio.nix + ./modules/nixos/networking.nix + ./modules/common/fonts.nix + + apple-silicon.nixosModules.apple-silicon-support catppuccin.nixosModules.catppuccin - # lix-module.nixosModules.default - - # lanzaboote.nixosModules.lanzaboote + lix-module.nixosModules.default home-manager.nixosModules.home-manager { @@ -99,11 +102,11 @@ home-manager.backupFileExtension = "backup"; home-manager.users.youwen = { imports = [ - # ./users/youwen/linux/linux-home.nix - # ./users/youwen/linux/desktop.nix - # ./users/youwen/linux/programs.nix - # ./users/youwen/common/core.nix - # ./users/youwen/linux/catppuccin.nix + ./users/youwen/linux/linux-home.nix + ./users/youwen/linux/desktop.nix + ./users/youwen/linux/programs.nix + ./users/youwen/common/core.nix + ./users/youwen/linux/catppuccin.nix inputs.catppuccin.homeManagerModules.catppuccin ]; }; @@ -112,6 +115,7 @@ }; }; formatter.aarch64-darwin = nixpkgs.legacyPackages.aarch64-darwin.nixfmt; + formatter.aarch64-linux = nixpkgs.legacyPackages.aarch64-linux.nixfmt; # Build darwin flake using: # $ darwin-rebuild build --flake .#Youwens-MacBook-Pro darwinConfigurations."Youwens-MacBook-Pro" = nix-darwin.lib.darwinSystem { diff --git a/hosts/callisto/default.nix b/hosts/callisto/default.nix index eef9510..17d76f6 100755 --- a/hosts/callisto/default.nix +++ b/hosts/callisto/default.nix @@ -7,11 +7,21 @@ { imports = [ # Include the results of the hardware scan. ./hardware-configuration.nix - ./apple-silicon-support + # ./apple-silicon-support ]; boot.loader.systemd-boot.enable = true; - boot.loader.efi.canTouchVariables = false; + boot.loader.efi.canTouchEfiVariables = false; + + hardware.asahi = { + peripheralFirmwareDirectory = ./firmware; + useExperimentalGPUDriver = true; + experimentalGPUInstallMode = "overlay"; + }; + + boot.extraModprobeConfig = '' + options hid_apple iso_layout=0 + ''; networking.hostName = "callisto"; # Define your hostname. # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. @@ -21,12 +31,16 @@ settings.General.EnableNetworkConfiguration = true; }; + nixpkgs.overlays = [ inputs.apple-silicon.overlays.apple-silicon-overlay ]; + + programs.light.enable = true; + # Configure network proxy if necessary # networking.proxy.default = "http://user:password@proxy:port/"; # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain"; # Enable networking - networking.networkmanager.enable = true; + # networking.networkmanager.enable = true; # Set your time zone. time.timeZone = "America/Los_Angeles"; @@ -126,24 +140,24 @@ wget git curl - librewolf - gnumake - clang - gcc - cachix - nodejs_22 - cargo - rustc - gnupg - openssh - python3 + # librewolf + # gnumake + # clang + # gcc + # cachix + # nodejs_22 + # cargo + # rustc + # gnupg + # openssh + # python3 (pkgs.catppuccin-sddm.override { flavor = "mocha"; }) - steam-run + # steam-run - # deps for neovim compilation - lua51Packages.lua - lua51Packages.luarocks - tree-sitter + # # deps for neovim compilation + # lua51Packages.lua + # lua51Packages.luarocks + # tree-sitter ]; environment.variables = { @@ -172,7 +186,7 @@ # this value at the release version of the first install of this system. # Before changing this value read the documentation for this option # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). - system.stateVersion = "24.05"; # Did you read the comment? + system.stateVersion = "24.11"; # Did you read the comment? programs.zsh.enable = false; programs.fish.enable = true; diff --git a/hosts/callisto/default.nix.bak b/hosts/callisto/default.nix.bak old mode 100644 new mode 100755 diff --git a/hosts/callisto/hardware-configuration.nix b/hosts/callisto/hardware-configuration.nix old mode 100644 new mode 100755 index 1d0cdb3..2b4a84f --- a/hosts/callisto/hardware-configuration.nix +++ b/hosts/callisto/hardware-configuration.nix @@ -4,25 +4,23 @@ { config, lib, pkgs, modulesPath, ... }: { - imports = - [ (modulesPath + "/installer/scan/not-detected.nix") - ]; + imports = [ (modulesPath + "/installer/scan/not-detected.nix") ]; boot.initrd.availableKernelModules = [ "usb_storage" "sdhci_pci" ]; boot.initrd.kernelModules = [ ]; boot.kernelModules = [ ]; boot.extraModulePackages = [ ]; - fileSystems."/" = - { device = "/dev/disk/by-uuid/bc88058e-6e3a-4987-b78e-e19cb5611608"; - fsType = "ext4"; - }; + fileSystems."/" = { + device = "/dev/disk/by-uuid/bc88058e-6e3a-4987-b78e-e19cb5611608"; + fsType = "ext4"; + }; - fileSystems."/boot" = - { device = "/dev/disk/by-uuid/852F-07F1"; - fsType = "vfat"; - options = [ "fmask=0022" "dmask=0022" ]; - }; + fileSystems."/boot" = { + device = "/dev/disk/by-uuid/852F-07F1"; + fsType = "vfat"; + options = [ "fmask=0022" "dmask=0022" ]; + }; swapDevices = [ ]; diff --git a/modules/common/fonts.nix b/modules/common/fonts.nix old mode 100644 new mode 100755 diff --git a/modules/darwin/darwin-configuration.nix b/modules/darwin/darwin-configuration.nix old mode 100644 new mode 100755 diff --git a/modules/darwin/homebrew.nix b/modules/darwin/homebrew.nix old mode 100644 new mode 100755 diff --git a/modules/darwin/yabai.nix b/modules/darwin/yabai.nix old mode 100644 new mode 100755 diff --git a/modules/nixos/audio.nix b/modules/nixos/audio.nix old mode 100644 new mode 100755 diff --git a/modules/nixos/gaming.nix b/modules/nixos/gaming.nix old mode 100644 new mode 100755 diff --git a/modules/nixos/networking.nix b/modules/nixos/networking.nix old mode 100644 new mode 100755 diff --git a/modules/nixos/nvidia.nix b/modules/nixos/nvidia.nix old mode 100644 new mode 100755 diff --git a/modules/nixos/secureboot.nix b/modules/nixos/secureboot.nix old mode 100644 new mode 100755 diff --git a/users/youwen/common/core.nix b/users/youwen/common/core.nix old mode 100644 new mode 100755 diff --git a/users/youwen/darwin/darwin-home.nix b/users/youwen/darwin/darwin-home.nix old mode 100644 new mode 100755 diff --git a/users/youwen/linux/catppuccin.nix b/users/youwen/linux/catppuccin.nix old mode 100644 new mode 100755 diff --git a/users/youwen/linux/desktop.nix b/users/youwen/linux/desktop.nix old mode 100644 new mode 100755 diff --git a/users/youwen/linux/hyprland-conf.nix b/users/youwen/linux/hyprland-conf.nix old mode 100644 new mode 100755 diff --git a/users/youwen/linux/linux-home.nix b/users/youwen/linux/linux-home.nix index f5798d6..dcb7ab0 100755 --- a/users/youwen/linux/linux-home.nix +++ b/users/youwen/linux/linux-home.nix @@ -60,14 +60,14 @@ # desktop apps dolphin - bitwarden-desktop + # bitwarden-desktop thunderbird - spotify + # spotify vesktop signal-desktop - modrinth-app - lutris - wine + # modrinth-app + # lutris + # wine # dev tools nodePackages_latest.pnpm diff --git a/users/youwen/linux/programs.nix b/users/youwen/linux/programs.nix old mode 100644 new mode 100755 diff --git a/users/youwen/linux/waybar/waybar-conf.nix b/users/youwen/linux/waybar/waybar-conf.nix old mode 100644 new mode 100755 diff --git a/users/youwen/linux/waybar/waybar.css b/users/youwen/linux/waybar/waybar.css old mode 100644 new mode 100755 diff --git a/wallpapers/aesthetic/ign_colorful.png b/wallpapers/aesthetic/ign_colorful.png old mode 100644 new mode 100755 diff --git a/wallpapers/anime/frieren.jpg b/wallpapers/anime/frieren.jpg old mode 100644 new mode 100755 diff --git a/wallpapers/anime/kudou-chitose-normal.jpg b/wallpapers/anime/kudou-chitose-normal.jpg old mode 100644 new mode 100755 diff --git a/wallpapers/anime/kudou-chitose-violet.png b/wallpapers/anime/kudou-chitose-violet.png old mode 100644 new mode 100755 diff --git a/wallpapers/anime/nixos-sus-anime-wallpaper.png b/wallpapers/anime/nixos-sus-anime-wallpaper.png old mode 100644 new mode 100755 diff --git a/wallpapers/anime/nixos-sus-anime.png b/wallpapers/anime/nixos-sus-anime.png old mode 100644 new mode 100755 diff --git a/wallpapers/cityscapes/yellow_kyoto.jpg b/wallpapers/cityscapes/yellow_kyoto.jpg old mode 100644 new mode 100755 diff --git a/wallpapers/nixos/nix-neon.png b/wallpapers/nixos/nix-neon.png old mode 100644 new mode 100755 diff --git a/wallpapers/nixos/nix-wallpaper.png b/wallpapers/nixos/nix-wallpaper.png old mode 100644 new mode 100755 diff --git a/wallpapers/nixos/nixos-ascii.png b/wallpapers/nixos/nixos-ascii.png old mode 100644 new mode 100755 diff --git a/wallpapers/nixos/nixos-declarative.jpg b/wallpapers/nixos/nixos-declarative.jpg old mode 100644 new mode 100755 diff --git a/wallpapers/nixos/nixos-everforest.webp b/wallpapers/nixos/nixos-everforest.webp old mode 100644 new mode 100755 diff --git a/wallpapers/nixos/nixos-hm.png b/wallpapers/nixos/nixos-hm.png old mode 100644 new mode 100755 diff --git a/wallpapers/nixos/nixos-wallpaper-catppuccin-macchiato.png b/wallpapers/nixos/nixos-wallpaper-catppuccin-macchiato.png old mode 100644 new mode 100755 diff --git a/wallpapers/retro/commodore.jpg b/wallpapers/retro/commodore.jpg old mode 100644 new mode 100755