From dbf7da4c573f094f816ff5d7394353fb6adf0902 Mon Sep 17 00:00:00 2001 From: clay53 Date: Thu, 12 Mar 2026 22:20:44 -0400 Subject: [PATCH] not working --- README.md | 2 ++ configuration.nix | 39 +++++++++++++++++++++++++++++++++++++++ flake.lock | 27 +++++++++++++++++++++++++++ flake.nix | 25 +++++++++++++++++++++++++ kernel.nix | 22 ++++++++++++++++++++++ 5 files changed, 115 insertions(+) create mode 100644 README.md create mode 100644 configuration.nix create mode 100644 flake.lock create mode 100644 flake.nix create mode 100644 kernel.nix diff --git a/README.md b/README.md new file mode 100644 index 0000000..0011453 --- /dev/null +++ b/README.md @@ -0,0 +1,2 @@ +# Pinephone Pro NixOS +A minimal configuration to get everything on the Pinephone Pro working and upstream to nixpkgs diff --git a/configuration.nix b/configuration.nix new file mode 100644 index 0000000..899718c --- /dev/null +++ b/configuration.nix @@ -0,0 +1,39 @@ +{inputs, pkgs, lib, ...}: +{ + config = { + nixpkgs.hostPlatform = lib.mkDefault "aarch64-linux"; + + nixpkgs.overlays = [ + inputs.pinephonepro-nixos.overlays.default + ]; + + boot.kernelPackages = pkgs.linuxPackages_pinephonepro; + + boot.loader.systemd-boot.enable = true; + + networking = { + hostName = "pinephonepro"; + networkmanager.enable = true; + }; + + services.openssh.enable = true; + + users.users.pinephonepro = { + isNormalUser = true; + description = "Default Pinephone Pro User"; + extraGroups = [ + "networkmanager" + "wheel" + ]; + }; + + environment.systemPackages = with pkgs; [ + neovim + fastfetch + ]; + + programs.git.enable = true; + + system.stateVersion = "25.11"; + }; +} diff --git a/flake.lock b/flake.lock new file mode 100644 index 0000000..f20038c --- /dev/null +++ b/flake.lock @@ -0,0 +1,27 @@ +{ + "nodes": { + "nixpkgs": { + "locked": { + "lastModified": 1773068389, + "narHash": "sha256-vMrm7Pk2hjBRPnCSjhq1pH0bg350Z+pXhqZ9ICiqqCs=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "44bae273f9f82d480273bab26f5c50de3724f52f", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-25.11", + "repo": "nixpkgs", + "type": "github" + } + }, + "root": { + "inputs": { + "nixpkgs": "nixpkgs" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..83654a8 --- /dev/null +++ b/flake.nix @@ -0,0 +1,25 @@ +{ + description = "A very basic flake"; + + inputs = { + nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-25.11"; + }; + + outputs = { self, nixpkgs }: + let + pkgs = nixpkgs.legacyPackages.aarch64-linux; + in + { + packages.aarch64-linux.linux-pinephonepro = pkgs.callPackage ./kernel.nix {}; + overlays.default = final: prev: { + linuxPackages_pinephonepro = prev.linuxPackagesFor self.packages.aarch64-linux.linux-pinephonepro; + }; + nixosConfigurations.pinephonepro = nixpkgs.lib.nixosSystem { + specialArgs.inputs.pinephonepro-nixos = self; + modules = [ + ./configuration.nix + ]; + }; + packages.aarch64-linux.pinephonepro-iso = self.nixosConfigurations.pinephonepro.config.system.build.images.iso; + }; +} diff --git a/kernel.nix b/kernel.nix new file mode 100644 index 0000000..325b681 --- /dev/null +++ b/kernel.nix @@ -0,0 +1,22 @@ +{ + lib, + buildLinux, + fetchgit, + ... +}@args: +let + version = "6.19.0"; + modDirVersion = "6.19.0"; +in +buildLinux ( + args + // + { + inherit version modDirVersion; + pname = "linux-pinephonepro"; + src = fetchgit { + url = "https://codeberg.org/megi/linux.git"; + sha256 = "sha256-axwiWkZeMwbpBc1NGqOKk6i3iW3ndVqAtDJi/+ww6wI="; + }; + } +)