Compare commits

..
Author SHA1 Message Date
ec66697d14 split up flake and use emacs as nixos module 2026-08-31 14:51:10 +02:00
c9902751ca split up flake 2026-08-31 14:36:32 +02:00
10 changed files with 119 additions and 101 deletions

View file

@ -26,24 +26,9 @@
imports = [
wrappers.flakeModules.wrappers
./modules/theme.nix
./modules/programs/emacs/emacs.nix
./hosts.nix
];
flake.nixosConfigurations.nerv = inputs.nixpkgs.lib.nixosSystem {
specialArgs = { inherit inputs; };
modules = [
base16.nixosModule
{ scheme = "${inputs.tt-schemes}/base16/oxocarbon-dark.yaml"; }
./modules/hosts/nerv/configuration.nix
config.flake.wrappers.emacs.install
{ wrappers.emacs.enable = true; }
home-manager.nixosModules.home-manager {
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.extraSpecialArgs = { inherit inputs; };
home-manager.users.lucy = ./modules/home.nix;
}
];
};
}
);
}

31
hosts.nix Normal file
View file

@ -0,0 +1,31 @@
{ inputs, config, ... }:
let
themeName = "catppuccin-mocha";
in
{
flake.nixosConfigurations.nerv = inputs.nixpkgs.lib.nixosSystem {
specialArgs = { inherit inputs; };
modules = [
inputs.base16.nixosModule
{ scheme = "${inputs.tt-schemes}/base16/${themeName}.yaml"; }
./modules/hosts/nerv/configuration.nix
./modules/home.nix
inputs.home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.extraSpecialArgs = { inherit inputs; };
}
{
imports = [
(inputs.wrappers.lib.getInstallModule {
name = "emacs";
value = inputs.wrappers.lib.wrapperModules.emacs;
})
./modules/programs/emacs/emacs.nix
];
}
];
};
}

View file

@ -1,23 +1,18 @@
{
inputs,
pkgs,
config,
...
}:
let
c = ((pkgs.callPackage inputs.base16.lib { }).mkSchemeAttrs config.theme.name).withHashtag;
c = config.scheme.withHashtag;
in
{
home.stateVersion = "26.05";
gtk = {
enable = true;
colorScheme = "dark";
cursorTheme = {
name = "macOS";
package = pkgs.apple-cursor;
size = 24;
};
gtk3.extraCss = ''
home-manager.users.lucy = {
home.stateVersion = "26.05";
gtk = {
enable = true;
colorScheme = "dark";
gtk3.extraCss = ''
@define-color theme_bg_color ${c.base00};
@define-color theme_fg_color ${c.base05};
@define-color theme_base_color ${c.base00};
@ -30,8 +25,32 @@ in
@define-color warning_color ${c.base0A};
@define-color error_color ${c.base08};
@define-color success_color ${c.base0B};
'';
'';
gtk4.extraCss = ''
@define-color window_bg_color ${c.base00};
@define-color window_fg_color ${c.base05};
@define-color view_bg_color ${c.base00};
@define-color view_fg_color ${c.base05};
@define-color headerbar_bg_color ${c.base01};
@define-color headerbar_fg_color ${c.base05};
@define-color headerbar_border_color ${c.base02};
@define-color sidebar_bg_color ${c.base01};
@define-color sidebar_fg_color ${c.base05};
@define-color card_bg_color ${c.base01};
@define-color card_fg_color ${c.base05};
@define-color popover_bg_color ${c.base01};
@define-color popover_fg_color ${c.base05};
@define-color dialog_bg_color ${c.base01};
@define-color dialog_fg_color ${c.base05};
@define-color accent_bg_color ${c.base0D};
@define-color accent_fg_color ${c.base00};
@define-color accent_color ${c.base0D};
@define-color destructive_bg_color ${c.base08};
@define-color destructive_color ${c.base08};
@define-color warning_color ${c.base0A};
@define-color error_color ${c.base08};
@define-color success_color ${c.base0B};
'';
};
};
}

View file

@ -0,0 +1,9 @@
{ inputs, ... }: {
flake.nixosConfigurations.nerv = inputs.nixpkgs.lib.nixosSystem {
modules = [
./configuration.nix
];
};
}

View file

@ -1,23 +0,0 @@
{
inputs,
config,
lib,
...
}:
let
schemeName = config.theme.name;
in
{
config,
lib,
pkgs,
...
}:
let
scheme = (pkgs.callPackage inputs.base16.lib { }).mkSchemeAttrs schemeName;
in
{
}

View file

@ -0,0 +1 @@
lucy@nerv.50314:1788169501

View file

@ -1 +0,0 @@
lucy@nerv.31959:1788169501

View file

@ -1,10 +1,14 @@
{ config, lib, pkgs, ... }:
{
config,
lib,
pkgs,
...
}:
{
imports =
[
./hardware-configuration.nix
];
imports = [
./hardware-configuration.nix
];
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
@ -19,43 +23,42 @@
hardware.graphics.enable = true;
services.xserver.videoDrivers = [ "nvidia" ];
hardware.nvidia = {
modesetting.enable = true;
powerManagement.enable = false;
open = true;
nvidiaSettings = true;
package = config.boot.kernelPackages.nvidiaPackages.stable;
};
modesetting.enable = true;
powerManagement.enable = false;
open = true;
nvidiaSettings = true;
package = config.boot.kernelPackages.nvidiaPackages.stable;
};
# Set your time zone.
time.timeZone = "Europe/Berlin";
i18n.defaultLocale = "en_US.UTF-8";
services.desktopManager.gnome.enable = true;
services.displayManager.gdm.enable = true;
services.xserver.xkb.layout = "us";
services.pipewire = {
enable = true;
pulse.enable = true;
i18n.defaultLocale = "en_US.UTF-8";
services.desktopManager.gnome.enable = true;
services.displayManager.gdm.enable = true;
services.xserver.xkb.layout = "us";
services.pipewire = {
enable = true;
pulse.enable = true;
};
nixpkgs.config.allowUnfree = true;
# Define a user account. Don't forget to set a password with ‘passwd’.
users.users.lucy = {
isNormalUser = true;
extraGroups = [ "wheel" ]; # Enable ‘sudo’ for the user.
packages = with pkgs; [
vesktop
google-chrome
];
};
# Define a user account. Don't forget to set a password with ‘passwd’.
users.users.lucy = {
isNormalUser = true;
extraGroups = [ "wheel" ]; # Enable ‘sudo’ for the user.
packages = with pkgs; [
vesktop
google-chrome
];
};
environment.systemPackages = with pkgs; [
fastfetch
wget
git
clang
];
environment.systemPackages = with pkgs; [
fastfetch
wget
git
clang
];
system.stateVersion = "26.05"; # Did you read the comment?
}

View file

@ -1,7 +0,0 @@
{ inputs, config, lib, ... }: let
schemeName = config.theme.name;
in
{config, lib, pkgs, ...}:
let scheme = (pkgs.callPackage inputs.base16.lib {}).mkSchemeAttrs schemeName; in
{}

View file

@ -5,10 +5,10 @@
...
}:
let
schemeName = config.theme.name;
schemeName = config.scheme;
in
{
flake.wrappers.emacs =
wrappers.emacs =
{
pkgs,
wlib,
@ -17,7 +17,8 @@ in
let
scheme = (pkgs.callPackage inputs.base16.lib { }).mkSchemeAttrs schemeName;
in
{
{
enable = true;
imports = [
wlib.wrapperModules.emacs
];