Commit graph

32 commits

Author SHA1 Message Date
d03352736a skip 2026-02-16 21:01:13 +00:00
Julian Sutter
73de2bfb51 Fix deprecated NixOS options and migrate to new syntax
This commit resolves multiple deprecation warnings and errors that were
preventing the NixOS configuration from being built successfully.

## Changes Made

### 1. Git Configuration Options (Home Manager)
**Affected Files:**
- users/jsutter.nix
- users/isutter.nix
- users/aksutter.nix

**Changes:**
- Migrated from deprecated `userName` and `userEmail` options to new
  `settings.user.name` and `settings.user.email` syntax
- Migrated from deprecated `extraConfig` to inline `settings` format
- This aligns with Home Manager's new git configuration structure

**Before:**
```nix
programs.git = {
  userName  = "Julian Sutter";
  userEmail = "jsutter@symbiotip.com";
  extraConfig = { core.editor = "nano"; };
};
```

**After:**
```nix
programs.git = {
  settings = {
    user = {
      name = "Julian Sutter";
      email = "jsutter@symbiotip.com";
    };
    core.editor = "nano";
  };
};
```

### 2. Systemd Logind Options
**Affected File:** systems/framework.nix

**Changes:**
- Migrated from deprecated direct options to new nested settings syntax
- All logind power management options now use `settings.Login.*` format

**Before:**
```nix
services.logind = {
  lidSwitch = "suspend-then-hibernate";
  lidSwitchDocked = "ignore";
};
```

**After:**
```nix
services.logind = {
  settings = {
    Login = {
      HandleLidSwitch = "suspend-then-hibernate";
      HandleLidSwitchDocked = "ignore";
    };
  };
};
```

### 3. Display Manager Configuration
**Affected File:** desktop/plasma.nix

**Changes:**
- Removed deprecated `services.xserver.displayManager.gdm.enable`
- Configuration now uses `services.displayManager.gdm.enable` exclusively
- Added explanatory comment about the deprecation removal

### 4. Package Deprecations
**Affected Files:**
- users/aksutter.nix
- users/isutter.nix

**Changes:**
- Replaced deprecated `pinentry` package with `pinentry-gnome3`
- The generic `pinentry` package has been split into specific variants
- `pinentry-gnome3` was already in use elsewhere in plasma.nix

### 5. NixOS System Parameter
**Affected File:** flake.nix

**Changes:**
- Updated system parameter handling to address deprecation warning
- Changed from `inherit system` to `inherit (localSystem) system`
- Renamed `system` variable to `localSystem` with explicit system attribute

**Before:**
```nix
let
  system = "x86_64-linux";
  commonSpecialArgs = {
    pkgs-unstable = import nixpkgs-unstable {
      inherit system;
```

**After:**
```nix
let
  localSystem = {
    system = "x86_64-linux";
  };
  commonSpecialArgs = {
    pkgs-unstable = import nixpkgs-unstable {
      inherit (localSystem) system;
```

## Verification

### Build Status
 All three system configurations build successfully:
- framework
- aurora
- labrizor

### Flake Check Results
 `nix flake check` passes without errors
 Only remaining warning is from external flake-utils dependency
  in octofriend subflake, which does not affect functionality

### Framework Build Results
 `sudo nixos-rebuild build --flake .#framework` completed successfully
 New configuration path:
  /nix/store/6wci3m6qnzphw75b0j7lmx1gjqphry3n-nixos-system-framework-25.11.20260203.e576e3c

## Impact

### User Impact
- Git configuration behavior remains unchanged
- Logind power management behavior unchanged
- Login/logout experience identical
- No functional changes to user experience

### System Impact
- All configurations now use modern NixOS 25.11 syntax
- Future-proofed against upcoming deprecation removals
- Maintains consistency across all managed systems

## Testing Recommendations

Before deploying to production:
1. Test on non-critical systems first (labrizor)
2. Verify all services start correctly after switch
3. Confirm user git configurations work as expected
4. Test lid switch behavior on framework laptop
5. Verify GPG pinentry prompts work correctly

## Related NixOS Documentation

- Home Manager git options: https://nix-community.github.io/home-manager/options.xhtml#opt-programs.git.enable
- Systemd logind settings: https://search.nixos.org/options?query=services.logind
- NixOS 25.11 release notes for deprecation details
2026-02-03 22:18:15 -08:00
Julian Sutter
ce51c7cf8c Update NixOS configurations across multiple modules
This commit updates various configuration modules to improve system
functionality and maintain consistency across all managed machines.

## Changed Files

### flake.nix
- Updated to use nixos-25.11 channel (previously 25.05)
- Updated home-manager to release-25.11
- Added octofriend local flake reference
- Simplified commonDesktopModules structure
- Updated framework configuration with additional desktop modules (dnm, stp-elc-udmshare)

### flake.lock
- Updated lock file to reflect new flake inputs and dependency versions

### systems/common.nix
- Updated system stateVersion from "25.05" to "25.05"
- Added more system packages for system administration:
  - kopia (backup tool)
  - dig (DNS lookup utility)
  - pv (pipe viewer for progress monitoring)
  - whois (network information lookup)
  - mesa-demos (OpenGL/demos for graphics testing)
- Added kdePackages.xdg-desktop-portal-kde for better desktop integration
- Maintained all existing hardware, networking, bootloader, and service configurations

### systems/framework.nix
- Maintained existing Framework laptop specific configurations:
  - AMD GPU support with microcode updates
  - Custom kernel parameters (mem_sleep_default=s2idle)
  - Power management (power-profiles-daemon enabled, TLP/thermald disabled for AMD)
  - Logind lid switch configuration (suspend-then-hibernate on lid close)
  - Swapfile configuration (10GB size)
  - Brightness control via acpilight
  - SSD optimization with fstrim
- Added user packages: via (keyboard configurator), radeontop (AMD GPU monitor)

### users/jsutter.nix
- Enhanced Home Manager configuration:
  - Updated stateVersion to "25.05"
  - Added Zed editor configuration with AI model integration:
    - Configured SyntheticL API endpoint for GLM-4.7 model
    - Added extensions: nix, markdown, toml, go, dracula
    - Included extra packages for language support (nixd, nil, gopls)
  - Updated VSCode extensions list with Claude dev support
  - Added Micro editor as alternative light editor
- Maintained all existing user packages, SSH keys, and base configurations

### desktop/media.nix
- Updated multimedia application packages for enhanced media handling

### desktop/plasma.nix
- Updated Plasma desktop environment packages and configurations

### desktop/virtualization.nix
- Updated virtualization settings and package versions

## Testing Notes
- All changes should be tested with 'nix flake check' to verify syntax
- Run 'sudo nixos-rebuild dry-run --flake .#framework' before applying
- Verify that all services start correctly after rebuild

## Impact Scope
- Affects all three managed systems: framework, aurora, labrizor
- Primary focus on framework laptop configuration as primary development machine
- Home Manager changes only affect jsutter user account
2026-02-03 22:13:06 -08:00
Julian Sutter
044e79b3c5 framework suspend fixes 2025-11-26 21:01:51 -08:00
Julian Sutter
88c207341f simplify framework.nix in hopes it fixes broken suspend 2025-11-22 20:13:49 -08:00
3ac3489b28 Update systems/framework.nix 2025-11-12 17:45:55 +00:00
Julian Sutter
e8e3ee0b8b updates 2025-07-22 23:43:28 -07:00
Julian Sutter
c28af3e123 Fix Framework 16 stability issues: disable USB autosuspend, adjust TLP settings, temporarily disable problematic packages 2025-07-15 20:55:30 -07:00
Julian Sutter
be4255e26f updates & crypto 2025-04-26 20:07:24 -07:00
Julian Sutter
429d77c519 amdgpu fixes 2025-03-27 12:15:57 -07:00
Julian Sutter
ca14339d43 perm updates 2024-12-26 20:59:38 -08:00
Julian Sutter
1d34d1bdfb bunch of framework power updates, suspend to hibernate etc 2024-12-21 22:35:42 -08:00
Julian Sutter
68b3c6f857 virtualization appears to be working? 2024-12-21 21:43:45 -08:00
Julian Sutter
0cef510688 zsh fix 2024-12-21 16:38:28 -08:00
Julian Sutter
b5b03dea63 radeontop and more 2024-12-21 16:02:42 -08:00
Julian Sutter
0e805efdcb disable throttled 2024-08-06 19:20:43 -07:00
Julian Sutter
24a9b50298 disable fprintd 2024-07-09 23:16:42 -07:00
Julian Sutter
0e635555d2 qmk keyboard 2024-05-25 20:44:14 -07:00
fea287accf framework 16 try 1 2024-05-24 05:02:46 +00:00
7277a5a90c updates 2024-02-03 19:52:40 -08:00
Julian Sutter
63e4220903 stuff 2023-07-25 19:12:38 -07:00
Julian Sutter
99d2599b57 throttled 2023-05-16 22:47:42 -07:00
Julian Sutter
6078668cdc fix dpi for framework 2023-03-30 19:52:42 -07:00
Julian Sutter
06062b9ef7 flake update 2023-03-27 09:35:22 -07:00
Julian Sutter
962ab4d99e updates 2023-03-23 12:14:03 -07:00
Julian Sutter
711c24be52 add android 2023-02-03 19:49:05 -08:00
Julian Sutter
eb04da9d76 first try at gnome 2023-01-25 09:06:56 -08:00
Julian Sutter
e95a2a524e add hostnames 2023-01-24 14:09:21 -08:00
5153dc64f6 working on home manager spreading though the nix files 2023-01-23 08:57:22 -08:00
601780bd56 why isnt this working argh 2023-01-23 04:42:10 +00:00
Julian Sutter
3e00107cc0 retry moving configuration.nix in here 2023-01-07 09:52:23 -08:00
Julian Sutter
d1478d93c4 trying to generalize names 2023-01-05 23:26:57 -08:00