Compare commits

..

No commits in common. "586b4a27cd485b708e634ffd416ff3d784825d5c" and "1d50e3276a8ddf0a03fcb2333bcb4936058a547a" have entirely different histories.

30 changed files with 321 additions and 354 deletions

View file

@ -3,9 +3,6 @@
This is a repository that implements liminalOS, my personal Linux distribution This is a repository that implements liminalOS, my personal Linux distribution
based on [NixOS](https://nixos.org/). based on [NixOS](https://nixos.org/).
Time wasted writing Nix code:
![](https://wakatime.com/badge/user/018dc5b8-ba5a-4572-a38a-b526d1b28240/project/c59b3d5e-0c9c-4bd5-a752-e75522ab0cdc.svg)
<!-- prettier-ignore --> <!-- prettier-ignore -->
> **lim·i·nal** > **lim·i·nal**
> 1. between or belonging to two different places, states, etc. > 1. between or belonging to two different places, states, etc.

View file

@ -28,7 +28,8 @@
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
lix-module = { lix-module = {
url = "https://git.lix.systems/lix-project/nixos-module/archive/2.90.0.tar.gz"; url =
"https://git.lix.systems/lix-project/nixos-module/archive/2.90.0.tar.gz";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
apple-silicon = { apple-silicon = {
@ -37,21 +38,10 @@
}; };
}; };
outputs = { outputs = { self, nixpkgs, home-manager, catppuccin, lanzaboote, stablepkgs
self, , bleedingpkgs, lix-module, nix-darwin, nix-homebrew, apple-silicon, ...
nixpkgs,
home-manager,
catppuccin,
lanzaboote,
stablepkgs,
bleedingpkgs,
lix-module,
nix-darwin,
nix-homebrew,
apple-silicon,
...
}@inputs: rec { }@inputs: rec {
formatter.x86_64-linux = nixpkgs.legacyPackages.x86_64-linux.alejandra; formatter.x86_64-linux = nixpkgs.legacyPackages.x86_64-linux.nixfmt;
nixosConfigurations = { nixosConfigurations = {
demeter = nixpkgs.lib.nixosSystem { demeter = nixpkgs.lib.nixosSystem {
specialArgs = { inherit inputs; }; specialArgs = { inherit inputs; };
@ -161,8 +151,8 @@
]; ];
}; };
}; };
formatter.aarch64-darwin = nixpkgs.legacyPackages.aarch64-darwin.alejandra; formatter.aarch64-darwin = nixpkgs.legacyPackages.aarch64-darwin.nixfmt;
formatter.aarch64-linux = nixpkgs.legacyPackages.aarch64-linux.alejandra; formatter.aarch64-linux = nixpkgs.legacyPackages.aarch64-linux.nixfmt;
# Build darwin flake using: # Build darwin flake using:
# $ darwin-rebuild build --flake .#Youwens-MacBook-Pro # $ darwin-rebuild build --flake .#Youwens-MacBook-Pro
darwinConfigurations.phobos = nix-darwin.lib.darwinSystem { darwinConfigurations.phobos = nix-darwin.lib.darwinSystem {

View file

@ -1,15 +1,11 @@
# Edit this configuration file to define what should be installed on # Edit this configuration file to define what should be installed on
# your system. Help is available in the configuration.nix(5) man page # your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running nixos-help). # and in the NixOS manual (accessible by running nixos-help).
{ config, inputs, pkgs, lib, ... }:
{ {
config, imports = [ # Include the results of the hardware scan.
inputs,
pkgs,
lib,
...
}: {
imports = [
# Include the results of the hardware scan.
./hardware-configuration.nix ./hardware-configuration.nix
]; ];
@ -48,7 +44,8 @@
}; };
}; };
boot.initrd.luks.devices."luks-52d1be6d-b32f-41e0-a6d7-2ff52599fe7c".device = "/dev/disk/by-uuid/52d1be6d-b32f-41e0-a6d7-2ff52599fe7c"; boot.initrd.luks.devices."luks-52d1be6d-b32f-41e0-a6d7-2ff52599fe7c".device =
"/dev/disk/by-uuid/52d1be6d-b32f-41e0-a6d7-2ff52599fe7c";
services.tlp.enable = true; services.tlp.enable = true;

View file

@ -1,16 +1,13 @@
# Do not modify this file! It was generated by nixos-generate-config # Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes # and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead. # to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{ {
config,
lib,
pkgs,
modulesPath,
...
}: {
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ]; imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
boot.initrd.availableKernelModules = ["nvme" "xhci_pci" "usbhid" "usb_storage" "sd_mod"]; boot.initrd.availableKernelModules =
[ "nvme" "xhci_pci" "usbhid" "usb_storage" "sd_mod" ];
boot.initrd.kernelModules = [ ]; boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-amd" ]; boot.kernelModules = [ "kvm-amd" ];
boot.extraModulePackages = [ ]; boot.extraModulePackages = [ ];
@ -20,7 +17,8 @@
fsType = "ext4"; fsType = "ext4";
}; };
boot.initrd.luks.devices."luks-f169a679-d70b-4dff-a344-7131f3303813".device = "/dev/disk/by-uuid/f169a679-d70b-4dff-a344-7131f3303813"; boot.initrd.luks.devices."luks-f169a679-d70b-4dff-a344-7131f3303813".device =
"/dev/disk/by-uuid/f169a679-d70b-4dff-a344-7131f3303813";
fileSystems."/boot" = { fileSystems."/boot" = {
device = "/dev/disk/by-uuid/3FCB-9D60"; device = "/dev/disk/by-uuid/3FCB-9D60";
@ -28,7 +26,8 @@
options = [ "fmask=0022" "dmask=0022" ]; options = [ "fmask=0022" "dmask=0022" ];
}; };
swapDevices = [{device = "/dev/disk/by-uuid/f28d0752-feab-4591-899e-e5deac3712d0";}]; swapDevices =
[{ device = "/dev/disk/by-uuid/f28d0752-feab-4591-899e-e5deac3712d0"; }];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking # Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's # (the default) this is the recommended approach. When using systemd-networkd it's

View file

@ -1,3 +1,4 @@
{pkgs, ...}: { { pkgs, ... }:
{
wayland.windowManager.hyprland.settings.monitor = pkgs.lib.mkForce [ "eDP-1,2560x1440@165,0x0,1.6" ]; wayland.windowManager.hyprland.settings.monitor = pkgs.lib.mkForce [ "eDP-1,2560x1440@165,0x0,1.6" ];
} }

View file

@ -1,14 +1,11 @@
# Edit this configuration file to define what should be installed on # Edit this configuration file to define what should be installed on
# your system. Help is available in the configuration.nix(5) man page # your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running nixos-help). # and in the NixOS manual (accessible by running nixos-help).
{ config, inputs, pkgs, ... }:
{ {
config, imports = [ # Include the results of the hardware scan.
inputs,
pkgs,
...
}: {
imports = [
# Include the results of the hardware scan.
./hardware-configuration.nix ./hardware-configuration.nix
# ./apple-silicon-support # ./apple-silicon-support
]; ];
@ -158,6 +155,7 @@
environment.variables = { environment.variables = {
EDITOR = "nvim"; EDITOR = "nvim";
NIX_AUTO_RUN = 1; NIX_AUTO_RUN = 1;
}; };
services.keyd = { services.keyd = {
enable = true; enable = true;

View file

@ -1,13 +1,9 @@
# Do not modify this file! It was generated by nixos-generate-config # Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes # and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead. # to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{ {
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.availableKernelModules = [ "usb_storage" "sdhci_pci" ];

View file

@ -1,15 +1,11 @@
# Edit this configuration file to define what should be installed on # Edit this configuration file to define what should be installed on
# your system. Help is available in the configuration.nix(5) man page # your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running nixos-help). # and in the NixOS manual (accessible by running nixos-help).
{ config, inputs, pkgs, lib, ... }:
{ {
config, imports = [ # Include the results of the hardware scan.
inputs,
pkgs,
lib,
...
}: {
imports = [
# Include the results of the hardware scan.
./hardware-configuration.nix ./hardware-configuration.nix
]; ];

View file

@ -1,15 +1,11 @@
# Do not modify this file! It was generated by nixos-generate-config # Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes # and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead. # to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{ {
config, imports =
lib, [ (modulesPath + "/installer/scan/not-detected.nix")
pkgs,
modulesPath,
...
}: {
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
]; ];
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usbhid" "usb_storage" "sd_mod" ]; boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usbhid" "usb_storage" "sd_mod" ];
@ -17,21 +13,21 @@
boot.kernelModules = [ "kvm-intel" ]; boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ]; boot.extraModulePackages = [ ];
fileSystems."/" = { fileSystems."/" =
device = "/dev/disk/by-uuid/5a339a7f-8668-42d7-9ecc-d7a8f1d3f7b2"; { device = "/dev/disk/by-uuid/5a339a7f-8668-42d7-9ecc-d7a8f1d3f7b2";
fsType = "ext4"; fsType = "ext4";
}; };
boot.initrd.luks.devices."luks-362ec972-7c5e-4c9f-ba5d-b8f2ed083509".device = "/dev/disk/by-uuid/362ec972-7c5e-4c9f-ba5d-b8f2ed083509"; boot.initrd.luks.devices."luks-362ec972-7c5e-4c9f-ba5d-b8f2ed083509".device = "/dev/disk/by-uuid/362ec972-7c5e-4c9f-ba5d-b8f2ed083509";
fileSystems."/boot" = { fileSystems."/boot" =
device = "/dev/disk/by-uuid/27EE-D950"; { device = "/dev/disk/by-uuid/27EE-D950";
fsType = "vfat"; fsType = "vfat";
options = [ "fmask=0022" "dmask=0022" ]; options = [ "fmask=0022" "dmask=0022" ];
}; };
swapDevices = [ swapDevices =
{device = "/dev/disk/by-uuid/670fc084-d593-44b3-aed9-78d95fec71de";} [ { device = "/dev/disk/by-uuid/670fc084-d593-44b3-aed9-78d95fec71de"; }
]; ];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking # Enables DHCP on each ethernet and wireless interface. In case of scripted networking

View file

@ -1,9 +1,4 @@
{ { inputs, config, pkgs, ... }: {
inputs,
config,
pkgs,
...
}: {
# Expose the package set, including overlays, for convenience. # Expose the package set, including overlays, for convenience.
# darwinPackages = inputs.self.darwinConfigurations."Youwens-MacBook-Pro".pkgs; # darwinPackages = inputs.self.darwinConfigurations."Youwens-MacBook-Pro".pkgs;

View file

@ -1,8 +1,4 @@
{ { config, pkgs, ... }: {
config,
pkgs,
...
}: {
services.yabai = { services.yabai = {
enable = true; enable = true;
enableScriptingAddition = true; enableScriptingAddition = true;
@ -32,3 +28,4 @@
blur_radius = 5.0; blur_radius = 5.0;
}; };
} }

View file

@ -1,4 +1,5 @@
{pkgs, ...}: { {pkgs, ...}:
{
services.greetd = { services.greetd = {
enable = true; enable = true;
settings = { settings = {

View file

@ -68,8 +68,6 @@
useTheme = "gruvbox"; useTheme = "gruvbox";
}; };
programs.direnv.enable = true;
programs.fish = { programs.fish = {
enable = true; enable = true;
shellAliases = { shellAliases = {
@ -78,7 +76,8 @@
}; };
functions = { functions = {
update-nixos = { update-nixos = {
description = "Update the system flake and attempt to build and switch to the new configuration."; description =
"Update the system flake and attempt to build and switch to the new configuration.";
body = '' body = ''
cd /etc/nixos cd /etc/nixos
nix flake update nix flake update

View file

@ -1,9 +1,6 @@
{ inputs, config, pkgs, ... }:
{ {
inputs,
config,
pkgs,
...
}: {
home.username = "youwen"; home.username = "youwen";
home.homeDirectory = "/Users/youwen"; home.homeDirectory = "/Users/youwen";
@ -82,4 +79,5 @@
# Let home Manager install and manage itself. # Let home Manager install and manage itself.
programs.home-manager.enable = true; programs.home-manager.enable = true;
} }

View file

@ -7,3 +7,4 @@
../waybar/desktop ../waybar/desktop
]; ];
} }

View file

@ -1,8 +1,6 @@
{ config, pkgs, ... }:
{ {
config,
pkgs,
...
}: {
home.username = "youwen"; home.username = "youwen";
home.homeDirectory = "/home/youwen"; home.homeDirectory = "/home/youwen";

View file

@ -1,4 +1,5 @@
{pkgs, ...}: { { pkgs, ... }:
{
wayland.windowManager.hyprland = { wayland.windowManager.hyprland = {
enable = true; enable = true;
settings = { settings = {
@ -163,7 +164,8 @@
"ignorezero,swaync-control-center" "ignorezero,swaync-control-center"
"blur,logout_dialog" "blur,logout_dialog"
]; ];
monitor = ["DP-1,2560x1440@165,1920x0,auto" "HDMI-A-1,1920x1080@60,0x0,1"]; monitor =
[ "DP-1,2560x1440@165,1920x0,auto" "HDMI-A-1,1920x1080@60,0x0,1" ];
dwindle = { dwindle = {
pseudotile = "yes"; pseudotile = "yes";
preserve_split = "yes"; preserve_split = "yes";
@ -282,9 +284,11 @@
services.hypridle = { services.hypridle = {
enable = true; enable = true;
settings = { settings = {
lock_cmd = "pidof hyprlock || hyprlock"; # avoid starting multiple hyprlock instances. lock_cmd =
"pidof hyprlock || hyprlock"; # avoid starting multiple hyprlock instances.
before_sleep_cmd = "loginctl lock-session"; # lock before suspend. before_sleep_cmd = "loginctl lock-session"; # lock before suspend.
after_sleep_cmd = "hyprctl dispatch dpms on"; # to avoid having to press a key twice to turn on the display. after_sleep_cmd =
"hyprctl dispatch dpms on"; # to avoid having to press a key twice to turn on the display.
}; };
}; };

View file

@ -1,6 +1,8 @@
{ pkgs, ... }: { { pkgs, ... }: {
imports = [../theming ../home.nix ../programs ../hyprland/laptop ../waybar/laptop]; imports =
[ ../theming ../home.nix ../programs ../hyprland/laptop ../waybar/laptop ];
# some overrides for laptop specifically # some overrides for laptop specifically
programs.kitty.settings.font_size = pkgs.lib.mkForce 11; programs.kitty.settings.font_size = pkgs.lib.mkForce 11;
} }

View file

@ -1,3 +1,3 @@
{pkgs, ...}: let { pkgs, ... }:
createCommon = import ../common-packages.nix; let createCommon = import ../common-packages.nix;
in {home.packages = (createCommon pkgs) ++ [];} in { home.packages = ((createCommon pkgs) ++ [ ]); }

View file

@ -1,9 +1,7 @@
{pkgs, ...}: let { pkgs, ... }:
createCommon = import ../common-packages.nix; let createCommon = import ../common-packages.nix;
in { in {
home.packages = home.packages = ((createCommon pkgs) ++ (with pkgs; [
(createCommon pkgs)
++ (with pkgs; [
spotify spotify
bitwarden-desktop bitwarden-desktop
modrinth-app modrinth-app
@ -11,5 +9,5 @@ in {
wine wine
sbctl sbctl
r2modman r2modman
]); ]));
} }

View file

@ -23,6 +23,8 @@
theme=GraphiteNordDark theme=GraphiteNordDark
''; '';
"Kvantum/GraphiteNord".source = "${pkgs.graphite-kde-theme}/share/Kvantum/GraphiteNord"; "Kvantum/GraphiteNord".source =
"${pkgs.graphite-kde-theme}/share/Kvantum/GraphiteNord";
}; };
} }

View file

@ -9,8 +9,10 @@
# width = 1000; # width = 1000;
reload-style-on-change = true; reload-style-on-change = true;
margin = "5px 0px 0px 0px"; margin = "5px 0px 0px 0px";
modules-left = ["hyprland/window" "hyprland/workspaces" "network" "clock"]; modules-left =
modules-right = ["group/hardware" "backlight" "group/adjustable" "custom/weather"]; [ "hyprland/window" "hyprland/workspaces" "network" "clock" ];
modules-right =
[ "group/hardware" "backlight" "group/adjustable" "custom/weather" ];
# modules-center = [ "network" "group/hardware" "clock" ]; # modules-center = [ "network" "group/hardware" "clock" ];
"hyprland/workspaces" = { "hyprland/workspaces" = {
active-only = false; active-only = false;