Update to flakes on liminal
This commit is contained in:
parent
1255d382dc
commit
0bd148997c
3 changed files with 228 additions and 46 deletions
|
|
@ -1,41 +1,12 @@
|
||||||
# Config for framework16
|
# Config for framework16
|
||||||
{ config, pkgs, lib, ... }:
|
{ config, pkgs, lib, nixos-hardware, impermanence, talon-nix, ... }:
|
||||||
|
{
|
||||||
let
|
|
||||||
nixos-hardware = builtins.fetchTarball "https://github.com/NixOS/nixos-hardware/archive/master.tar.gz";
|
|
||||||
impermanence = builtins.fetchTarball "https://github.com/nix-community/impermanence/archive/master.tar.gz";
|
|
||||||
unstable = import (fetchTarball "https://github.com/NixOS/nixpkgs/archive/nixos-unstable.tar.gz") {
|
|
||||||
config = config.nixpkgs.config;
|
|
||||||
overlays = config.nixpkgs.overlays;
|
|
||||||
};
|
|
||||||
#unstable = import nixos-unstable {
|
|
||||||
# #config = config.nixpkgs.config;
|
|
||||||
# inherit (pkgs) system;
|
|
||||||
#};
|
|
||||||
#hp15c = pkgs.callPackage ./pkgs/hp15c/default.nix { inherit unstable; };
|
|
||||||
#nonpareil = pkgs.callPackage ./pkgs/nonpareil/default.nix { inherit pkgs; };
|
|
||||||
#custom1Password = pkgs.symlinkJoin {
|
|
||||||
# name = "1password-gui-custom";
|
|
||||||
# paths = [ unstable._1password-gui ];
|
|
||||||
# buildInputs = [ pkgs.makeWrapper ];
|
|
||||||
# postBuild = ''
|
|
||||||
# # Create directory for our custom policy
|
|
||||||
# mkdir -p $out/share/polkit-1/actions/
|
|
||||||
|
|
||||||
# # Copy the original policy file
|
|
||||||
# cp ${unstable._1password-gui}/share/polkit-1/actions/com.1password.1Password.policy $out/share/polkit-1/actions/
|
|
||||||
|
|
||||||
# # Modify the policy file to add the annotation
|
|
||||||
# sed -i '/<action id="com.1password.1Password.unlock">/,/<\/action>/ s|<\/defaults>|<\/defaults>\n <annotate key="org.freedesktop.policykit.owner">unix-user:hunner<\/annotate>|' $out/share/polkit-1/actions/com.1password.1Password.policy
|
|
||||||
# '';
|
|
||||||
#};
|
|
||||||
in
|
|
||||||
{
|
|
||||||
imports =
|
imports =
|
||||||
[
|
[
|
||||||
"${nixos-hardware}/framework/16-inch/7040-amd"
|
nixos-hardware.nixosModules.framework-16-7040-amd
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
"${impermanence}/nixos.nix"
|
impermanence.nixosModules.impermanence
|
||||||
|
talon-nix.nixosModules.talon
|
||||||
];
|
];
|
||||||
|
|
||||||
boot = {
|
boot = {
|
||||||
|
|
@ -87,6 +58,7 @@ in
|
||||||
networking.extraHosts =
|
networking.extraHosts =
|
||||||
''
|
''
|
||||||
127.0.0.1 keycloak
|
127.0.0.1 keycloak
|
||||||
|
127.0.0.1 k3d-cmvm
|
||||||
'';
|
'';
|
||||||
|
|
||||||
environment.persistence."/persist" = {
|
environment.persistence."/persist" = {
|
||||||
|
|
@ -135,6 +107,12 @@ in
|
||||||
extraOptions = "--storage-driver=overlay2";
|
extraOptions = "--storage-driver=overlay2";
|
||||||
};
|
};
|
||||||
programs.hyprland.enable = true;
|
programs.hyprland.enable = true;
|
||||||
|
programs.hyprland.xwayland.enable = false;
|
||||||
|
programs.hyprland.withUWSM = true;
|
||||||
|
programs.hyprlock.enable = true;
|
||||||
|
services.hypridle.enable = true;
|
||||||
|
programs.waybar.enable = true;
|
||||||
|
environment.sessionVariables.NIXOS_OZONE_WL = "1"; # hint electron apps to use wayland
|
||||||
programs.zsh.enable = true;
|
programs.zsh.enable = true;
|
||||||
services.openssh.enable = true;
|
services.openssh.enable = true;
|
||||||
services.openssh.settings.PermitRootLogin = "yes";
|
services.openssh.settings.PermitRootLogin = "yes";
|
||||||
|
|
@ -174,6 +152,7 @@ in
|
||||||
extraPortals = [
|
extraPortals = [
|
||||||
pkgs.xdg-desktop-portal-wlr
|
pkgs.xdg-desktop-portal-wlr
|
||||||
pkgs.xdg-desktop-portal-gtk
|
pkgs.xdg-desktop-portal-gtk
|
||||||
|
#pkgs.xdg-desktop-portal-hyprland
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -232,8 +211,8 @@ in
|
||||||
pass
|
pass
|
||||||
diff-so-fancy
|
diff-so-fancy
|
||||||
webex
|
webex
|
||||||
unstable.zed-editor
|
pkgs.unstable.zed-editor
|
||||||
unstable.package-version-server
|
pkgs.unstable.package-version-server
|
||||||
amdgpu_top
|
amdgpu_top
|
||||||
nixd # for zed
|
nixd # for zed
|
||||||
rust-analyzer # for zed
|
rust-analyzer # for zed
|
||||||
|
|
@ -241,11 +220,28 @@ in
|
||||||
rustc # for zed
|
rustc # for zed
|
||||||
rustup # for zed
|
rustup # for zed
|
||||||
gcc # for zed
|
gcc # for zed
|
||||||
ruff # for zed
|
#ruff # for zed
|
||||||
goose-cli
|
goose-cli
|
||||||
teams-for-linux
|
teams-for-linux
|
||||||
claude-code
|
claude-code
|
||||||
neofetch
|
neofetch
|
||||||
|
eww
|
||||||
|
hyprpaper # for hyprland
|
||||||
|
hyprcursor # for hyprland
|
||||||
|
nordzy-icon-theme
|
||||||
|
nordzy-cursor-theme
|
||||||
|
wl-clipboard
|
||||||
|
onlyoffice-desktopeditors
|
||||||
|
calibre
|
||||||
|
clipse
|
||||||
|
plex-desktop
|
||||||
|
signal-desktop
|
||||||
|
flyctl
|
||||||
|
dtach
|
||||||
|
gromit-mpx
|
||||||
|
urbanterror
|
||||||
|
ghostty
|
||||||
|
talon-nix.packages.${pkgs.system}.default
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
systemd.user.services = {
|
systemd.user.services = {
|
||||||
|
|
@ -297,6 +293,7 @@ in
|
||||||
powertop
|
powertop
|
||||||
alacritty
|
alacritty
|
||||||
rofi
|
rofi
|
||||||
|
wofi
|
||||||
xlockmore
|
xlockmore
|
||||||
dzen2
|
dzen2
|
||||||
arandr
|
arandr
|
||||||
|
|
@ -311,7 +308,7 @@ in
|
||||||
hsetroot
|
hsetroot
|
||||||
redshift
|
redshift
|
||||||
flameshot
|
flameshot
|
||||||
unstable.code-cursor
|
pkgs.unstable.code-cursor
|
||||||
pwvucontrol
|
pwvucontrol
|
||||||
pamixer
|
pamixer
|
||||||
helvum
|
helvum
|
||||||
|
|
@ -319,12 +316,18 @@ in
|
||||||
#nonpareil
|
#nonpareil
|
||||||
framework-tool
|
framework-tool
|
||||||
kitty # for Hyprland
|
kitty # for Hyprland
|
||||||
|
kdePackages.dolphin # file browser in hyprland
|
||||||
|
cliphist
|
||||||
restic
|
restic
|
||||||
xscreensaver
|
xscreensaver
|
||||||
unzip
|
unzip
|
||||||
scarlett2
|
scarlett2
|
||||||
alsa-scarlett-gui
|
alsa-scarlett-gui
|
||||||
ndi
|
pkgs.unstable.ndi-6
|
||||||
|
xdg-utils
|
||||||
|
btrbk
|
||||||
|
devenv
|
||||||
|
lsof
|
||||||
];
|
];
|
||||||
|
|
||||||
services.clipmenu.enable = true;
|
services.clipmenu.enable = true;
|
||||||
|
|
@ -341,27 +344,26 @@ in
|
||||||
};
|
};
|
||||||
programs.direnv = {
|
programs.direnv = {
|
||||||
enable = true;
|
enable = true;
|
||||||
#package = unstable.direnv;
|
|
||||||
nix-direnv.enable = true;
|
nix-direnv.enable = true;
|
||||||
#nix-direnv.package = unstable.nix-direnv;
|
#nix-direnv.package = unstable.nix-direnv;
|
||||||
};
|
};
|
||||||
programs._1password = {
|
programs._1password = {
|
||||||
enable = true;
|
enable = true;
|
||||||
#package = unstable._1password-cli;
|
|
||||||
};
|
};
|
||||||
programs._1password-gui = {
|
programs._1password-gui = {
|
||||||
enable = true;
|
enable = true;
|
||||||
#package = unstable._1password-gui;
|
|
||||||
polkitPolicyOwners = [ "hunner" ];
|
polkitPolicyOwners = [ "hunner" ];
|
||||||
};
|
};
|
||||||
programs.obs-studio = {
|
programs.obs-studio = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
package = pkgs.unstable.obs-studio;
|
||||||
enableVirtualCamera = true;
|
enableVirtualCamera = true;
|
||||||
plugins = with pkgs.obs-studio-plugins; [
|
plugins = with pkgs.unstable.obs-studio-plugins; [
|
||||||
wlrobs
|
wlrobs
|
||||||
obs-backgroundremoval
|
obs-backgroundremoval
|
||||||
obs-pipewire-audio-capture
|
obs-pipewire-audio-capture
|
||||||
obs-ndi
|
#obs-ndi
|
||||||
|
distroav
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -369,7 +371,10 @@ in
|
||||||
nerd-fonts.droid-sans-mono
|
nerd-fonts.droid-sans-mono
|
||||||
nerd-fonts.liberation
|
nerd-fonts.liberation
|
||||||
nerd-fonts.jetbrains-mono
|
nerd-fonts.jetbrains-mono
|
||||||
|
nerd-fonts.sauce-code-pro
|
||||||
|
nerd-fonts.symbols-only
|
||||||
liberation_ttf
|
liberation_ttf
|
||||||
|
font-awesome
|
||||||
];
|
];
|
||||||
|
|
||||||
# Some programs need SUID wrappers, can be configured further or are
|
# Some programs need SUID wrappers, can be configured further or are
|
||||||
|
|
@ -379,6 +384,7 @@ in
|
||||||
# enable = true;
|
# enable = true;
|
||||||
# enableSSHSupport = true;
|
# enableSSHSupport = true;
|
||||||
# };
|
# };
|
||||||
|
services.pcscd.enable = true;
|
||||||
|
|
||||||
# List services that you want to enable:
|
# List services that you want to enable:
|
||||||
|
|
||||||
|
|
@ -386,8 +392,8 @@ in
|
||||||
# services.openssh.enable = true;
|
# services.openssh.enable = true;
|
||||||
|
|
||||||
# Open ports in the firewall.
|
# Open ports in the firewall.
|
||||||
# networking.firewall.allowedTCPPorts = [ ... ];
|
networking.firewall.allowedTCPPorts = [ 8080 8081 8082 ];
|
||||||
# networking.firewall.allowedUDPPorts = [ ... ];
|
networking.firewall.allowedUDPPorts = [ 8080 8081 8082 ];
|
||||||
# Or disable the firewall altogether.
|
# Or disable the firewall altogether.
|
||||||
# networking.firewall.enable = false;
|
# networking.firewall.enable = false;
|
||||||
systemd.services.upower.enable = true;
|
systemd.services.upower.enable = true;
|
||||||
|
|
@ -424,6 +430,7 @@ in
|
||||||
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
|
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
systemd.services."user@".serviceConfig.Delegate = "cpu io memory pids cpuset";
|
||||||
|
|
||||||
services.fprintd.enable = true;
|
services.fprintd.enable = true;
|
||||||
#security.pam.services = {
|
#security.pam.services = {
|
||||||
|
|
|
||||||
133
framework/flake.lock
generated
Normal file
133
framework/flake.lock
generated
Normal file
|
|
@ -0,0 +1,133 @@
|
||||||
|
{
|
||||||
|
"nodes": {
|
||||||
|
"impermanence": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1737831083,
|
||||||
|
"narHash": "sha256-LJggUHbpyeDvNagTUrdhe/pRVp4pnS6wVKALS782gRI=",
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "impermanence",
|
||||||
|
"rev": "4b3e914cdf97a5b536a889e939fb2fd2b043a170",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "impermanence",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nix-github-actions": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"talon-nix",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1693660503,
|
||||||
|
"narHash": "sha256-B/g2V4v6gjirFmy+I5mwB2bCYc0l3j5scVfwgl6WOl8=",
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "nix-github-actions",
|
||||||
|
"rev": "bd5bdbb52350e145c526108f4ef192eb8e554fa0",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "nix-github-actions",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixos-hardware": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1756750488,
|
||||||
|
"narHash": "sha256-e4ZAu2sjOtGpvbdS5zo+Va5FUUkAnizl4wb0/JlIL2I=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixos-hardware",
|
||||||
|
"rev": "47eb4856cfd01eaeaa7bb5944a0f27db8fb9b94a",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixos-hardware",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1756886854,
|
||||||
|
"narHash": "sha256-6tooT142NLcFjt24Gi4B0G1pgWLvfw7y93sYEfSHlLI=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "0e6684e6c5755325f801bda1751a8a4038145d7d",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "nixos-25.05",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs-unstable": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1756787288,
|
||||||
|
"narHash": "sha256-rw/PHa1cqiePdBxhF66V7R+WAP8WekQ0mCDG4CFqT8Y=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "d0fc30899600b9b3466ddb260fd83deb486c32f1",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "nixos-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs_2": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1756787288,
|
||||||
|
"narHash": "sha256-rw/PHa1cqiePdBxhF66V7R+WAP8WekQ0mCDG4CFqT8Y=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "d0fc30899600b9b3466ddb260fd83deb486c32f1",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "nixos-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": {
|
||||||
|
"inputs": {
|
||||||
|
"impermanence": "impermanence",
|
||||||
|
"nixos-hardware": "nixos-hardware",
|
||||||
|
"nixpkgs": "nixpkgs",
|
||||||
|
"nixpkgs-unstable": "nixpkgs-unstable",
|
||||||
|
"talon-nix": "talon-nix"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"talon-nix": {
|
||||||
|
"inputs": {
|
||||||
|
"nix-github-actions": "nix-github-actions",
|
||||||
|
"nixpkgs": "nixpkgs_2"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1746431176,
|
||||||
|
"narHash": "sha256-bwXLFy2pDpNE60EkVltrmiRgwNWLo4eYBesP997p8mg=",
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "talon-nix",
|
||||||
|
"rev": "cc110629c5f0be12e839b2aea6a16880f1822706",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "talon-nix",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": "root",
|
||||||
|
"version": 7
|
||||||
|
}
|
||||||
42
framework/flake.nix
Normal file
42
framework/flake.nix
Normal file
|
|
@ -0,0 +1,42 @@
|
||||||
|
{
|
||||||
|
description = "NixOS configuration for liminal (Framework 16)";
|
||||||
|
|
||||||
|
inputs = {
|
||||||
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.05";
|
||||||
|
nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||||
|
|
||||||
|
nixos-hardware.url = "github:NixOS/nixos-hardware";
|
||||||
|
impermanence.url = "github:nix-community/impermanence";
|
||||||
|
talon-nix.url = "github:nix-community/talon-nix";
|
||||||
|
};
|
||||||
|
|
||||||
|
outputs = { self, nixpkgs, nixpkgs-unstable, nixos-hardware, impermanence, talon-nix, ... }:
|
||||||
|
let
|
||||||
|
system = "x86_64-linux";
|
||||||
|
|
||||||
|
# Create unstable overlay
|
||||||
|
overlay-unstable = final: prev: {
|
||||||
|
unstable = import nixpkgs-unstable {
|
||||||
|
inherit system;
|
||||||
|
config.allowUnfree = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
in
|
||||||
|
{
|
||||||
|
nixosConfigurations.liminal = nixpkgs.lib.nixosSystem {
|
||||||
|
inherit system;
|
||||||
|
|
||||||
|
specialArgs = {
|
||||||
|
inherit nixos-hardware impermanence talon-nix;
|
||||||
|
};
|
||||||
|
|
||||||
|
modules = [
|
||||||
|
# Add unstable overlay
|
||||||
|
({ config, pkgs, ... }: { nixpkgs.overlays = [ overlay-unstable ]; })
|
||||||
|
|
||||||
|
# Import configuration
|
||||||
|
./configuration.nix
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue