Compare commits
No commits in common. "ecf60cb4d5150b2ffd6a15ea317e7dec68a8a15f" and "d9ff0501d112da7482aa0c7f915a8f13982417e7" have entirely different histories.
ecf60cb4d5
...
d9ff0501d1
3 changed files with 55 additions and 75 deletions
|
|
@ -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
|
||||
];
|
||||
|
|
|
|||
92
flake.nix
92
flake.nix
|
|
@ -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
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
24
home.nix
24
home.nix
|
|
@ -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;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue