Compare commits

..

No commits in common. "ecf60cb4d5150b2ffd6a15ea317e7dec68a8a15f" and "d9ff0501d112da7482aa0c7f915a8f13982417e7" have entirely different histories.

3 changed files with 55 additions and 75 deletions

View file

@ -33,6 +33,8 @@
time.timeZone = "America/Los_Angeles"; time.timeZone = "America/Los_Angeles";
i18n.defaultLocale = "en_US.UTF-8"; i18n.defaultLocale = "en_US.UTF-8";
services.xserver.enable = true;
# Framework Laptop 13 AMD AI 300 Series specific configurations # Framework Laptop 13 AMD AI 300 Series specific configurations
# Enable AMD GPU support and power management # Enable AMD GPU support and power management
hardware.graphics = { hardware.graphics = {
@ -76,7 +78,6 @@
services.displayManager.gdm.enable = true; services.displayManager.gdm.enable = true;
services.desktopManager.gnome.enable = true; services.desktopManager.gnome.enable = true;
services.gnome.sushi.enable = true;
# Remove default GNOME apps (keeping loupe and file-roller) # Remove default GNOME apps (keeping loupe and file-roller)
environment.gnome.excludePackages = with pkgs; [ environment.gnome.excludePackages = with pkgs; [
@ -103,6 +104,10 @@
nautilus # Using Nemo nautilus # Using Nemo
]; ];
services.xserver.xkb = {
layout = "us";
};
services.printing.enable = true; services.printing.enable = true;
services.pulseaudio.enable = false; services.pulseaudio.enable = false;
@ -162,13 +167,13 @@
}; };
# Power management for laptop # Power management for laptop
# Configure lid switch behavior - suspend (no swap needed with 96GB RAM)
services.logind = { services.logind = {
settings = { settings = {
Login = { Login = {
HandleLidSwitch = "suspend"; HandleLidSwitch = "suspend";
HandleLidSwitchExternalPower = "suspend"; HandleLidSwitchExternalPower = "suspend";
HandleLidSwitchDocked = "ignore"; HandleLidSwitchDocked = "ignore";
HandlePowerKey = "suspend";
}; };
}; };
}; };
@ -186,7 +191,7 @@
}; };
}; };
# Disable power-profiles-daemon (conflicts with auto-cpufreq) # Disable power-profiles-daemon (conflicts with auto-cpufreq)
services.power-profiles-daemon.enable = false; services.power-profiles-daemon.enable = false;
# Enable power management (governor managed dynamically by auto-cpufreq) # Enable power management (governor managed dynamically by auto-cpufreq)
@ -201,7 +206,7 @@
# RAM optimizations for 96GB system # RAM optimizations for 96GB system
boot.kernel.sysctl = { boot.kernel.sysctl = {
"vm.vfs_cache_pressure" = 50; # Keep more filesystem cache in RAM "vm.vfs_cache_pressure" = 50; # Keep more filesystem cache in RAM
"vm.dirty_ratio" = 15; # Write to disk when 15% of RAM is dirty "vm.dirty_ratio" = 15; # Write to disk when 15% of RAM is dirty
"vm.dirty_background_ratio" = 5; # Start writing when 5% dirty "vm.dirty_background_ratio" = 5; # Start writing when 5% dirty
}; };
@ -219,6 +224,7 @@
}; };
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
git
wget wget
nh nh
]; ];

View file

@ -24,53 +24,51 @@
}; };
}; };
outputs = outputs = inputs@{
inputs@{ self,
self, nixpkgs,
nixpkgs, home-manager,
home-manager, nixos-hardware,
nixos-hardware, ...
... }: {
}: formatter.x86_64-linux = nixpkgs.legacyPackages.x86_64-linux.nixfmt;
{ nixosConfigurations = {
formatter.x86_64-linux = nixpkgs.legacyPackages.x86_64-linux.nixfmt; framework = nixpkgs.lib.nixosSystem {
nixosConfigurations = { modules = [
framework = nixpkgs.lib.nixosSystem { { nixpkgs.hostPlatform = "x86_64-linux"; }
modules = [ ./configuration.nix
{ nixpkgs.hostPlatform = "x86_64-linux"; } nixos-hardware.nixosModules.framework-amd-ai-300-series
./configuration.nix home-manager.nixosModules.home-manager
nixos-hardware.nixosModules.framework-amd-ai-300-series inputs.nix-index-database.nixosModules.default
home-manager.nixosModules.home-manager {
inputs.nix-index-database.nixosModules.default home-manager.useGlobalPkgs = true;
{ home-manager.useUserPackages = true;
home-manager.useGlobalPkgs = true; home-manager.backupFileExtension = "backup";
home-manager.useUserPackages = true; home-manager.extraSpecialArgs = { inherit inputs; };
home-manager.backupFileExtension = "backup"; home-manager.users.jet = import ./home.nix;
home-manager.extraSpecialArgs = { inherit inputs; }; }
home-manager.users.jet = import ./home.nix; {
} nixpkgs.overlays = [
{ inputs.nur.overlays.default
nixpkgs.overlays = [ inputs.claude-code-overlay.overlays.default
inputs.nur.overlays.default ];
inputs.claude-code-overlay.overlays.default }
]; ];
}
];
};
}; };
devShells.x86_64-linux.default =
let
pkgs = nixpkgs.legacyPackages.x86_64-linux;
nhs = pkgs.writeShellScriptBin "nhs" ''
nh os switch --hostname framework --impure path:. "$@"
'';
in
pkgs.mkShell {
packages = [
pkgs.nh
nhs
];
};
}; };
devShells.x86_64-linux.default =
let
pkgs = nixpkgs.legacyPackages.x86_64-linux;
nhs = pkgs.writeShellScriptBin "nhs" ''
nh os switch --hostname framework --impure path:. "$@"
'';
in
pkgs.mkShell {
packages = [
pkgs.nh
nhs
];
};
};
} }

View file

@ -116,17 +116,6 @@
TERMINAL = "kitty"; TERMINAL = "kitty";
}; };
programs.git = {
enable = true;
userName = "Jet Pham";
userEmail = "jet@extremist.software";
signing = {
key = "~/.ssh/id_ed25519.pub";
signByDefault = true;
format = "ssh";
};
};
programs.helix = { programs.helix = {
enable = true; enable = true;
defaultEditor = true; defaultEditor = true;
@ -407,19 +396,6 @@
}; };
}; };
home.file.".claude/settings.json".text = builtins.toJSON {
allowedTools = [
"Read"
"Glob"
"Grep"
"Write"
"Edit"
"Agent"
"WebFetch"
"WebSearch"
];
};
gtk = { gtk = {
enable = true; enable = true;
gtk3.extraConfig.gtk-application-prefer-dark-theme = 1; gtk3.extraConfig.gtk-application-prefer-dark-theme = 1;