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";
i18n.defaultLocale = "en_US.UTF-8";
services.xserver.enable = true;
# Framework Laptop 13 AMD AI 300 Series specific configurations
# Enable AMD GPU support and power management
hardware.graphics = {
@ -76,7 +78,6 @@
services.displayManager.gdm.enable = true;
services.desktopManager.gnome.enable = true;
services.gnome.sushi.enable = true;
# Remove default GNOME apps (keeping loupe and file-roller)
environment.gnome.excludePackages = with pkgs; [
@ -103,6 +104,10 @@
nautilus # Using Nemo
];
services.xserver.xkb = {
layout = "us";
};
services.printing.enable = true;
services.pulseaudio.enable = false;
@ -162,13 +167,13 @@
};
# Power management for laptop
# Configure lid switch behavior - suspend (no swap needed with 96GB RAM)
services.logind = {
settings = {
Login = {
HandleLidSwitch = "suspend";
HandleLidSwitchExternalPower = "suspend";
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;
# Enable power management (governor managed dynamically by auto-cpufreq)
@ -201,7 +206,7 @@
# RAM optimizations for 96GB system
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_background_ratio" = 5; # Start writing when 5% dirty
};
@ -219,6 +224,7 @@
};
environment.systemPackages = with pkgs; [
git
wget
nh
];

View file

@ -24,53 +24,51 @@
};
};
outputs =
inputs@{
self,
nixpkgs,
home-manager,
nixos-hardware,
...
}:
{
formatter.x86_64-linux = nixpkgs.legacyPackages.x86_64-linux.nixfmt;
nixosConfigurations = {
framework = nixpkgs.lib.nixosSystem {
modules = [
{ nixpkgs.hostPlatform = "x86_64-linux"; }
./configuration.nix
nixos-hardware.nixosModules.framework-amd-ai-300-series
home-manager.nixosModules.home-manager
inputs.nix-index-database.nixosModules.default
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.backupFileExtension = "backup";
home-manager.extraSpecialArgs = { inherit inputs; };
home-manager.users.jet = import ./home.nix;
}
{
nixpkgs.overlays = [
inputs.nur.overlays.default
inputs.claude-code-overlay.overlays.default
];
}
];
};
outputs = inputs@{
self,
nixpkgs,
home-manager,
nixos-hardware,
...
}: {
formatter.x86_64-linux = nixpkgs.legacyPackages.x86_64-linux.nixfmt;
nixosConfigurations = {
framework = nixpkgs.lib.nixosSystem {
modules = [
{ nixpkgs.hostPlatform = "x86_64-linux"; }
./configuration.nix
nixos-hardware.nixosModules.framework-amd-ai-300-series
home-manager.nixosModules.home-manager
inputs.nix-index-database.nixosModules.default
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.backupFileExtension = "backup";
home-manager.extraSpecialArgs = { inherit inputs; };
home-manager.users.jet = import ./home.nix;
}
{
nixpkgs.overlays = [
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";
};
programs.git = {
enable = true;
userName = "Jet Pham";
userEmail = "jet@extremist.software";
signing = {
key = "~/.ssh/id_ed25519.pub";
signByDefault = true;
format = "ssh";
};
};
programs.helix = {
enable = 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 = {
enable = true;
gtk3.extraConfig.gtk-application-prefer-dark-theme = 1;