summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--default.nix4
-rw-r--r--hosts/jontop/default.nix8
-rw-r--r--modules/desktop/apps/editors/neovim.nix18
-rw-r--r--modules/desktop/greetd.nix3
-rw-r--r--modules/desktop/niri.nix36
-rw-r--r--modules/device.nix6
-rw-r--r--modules/hardware/laptop.nix40
-rw-r--r--overlay.nix2
8 files changed, 89 insertions, 28 deletions
diff --git a/default.nix b/default.nix
index e172edf..191e7b1 100644
--- a/default.nix
+++ b/default.nix
@@ -6,7 +6,9 @@
...
}: {
imports =
- [inputs.home-manager.nixosModules.home-manager]
+ [
+ inputs.home-manager.nixosModules.default
+ ]
++ (lib.custom.mapModulesRec' ./modules import);
environment.variables.NIXOSCONFIG = config.nixosConfig.dir;
diff --git a/hosts/jontop/default.nix b/hosts/jontop/default.nix
index a5d3d25..3882dee 100644
--- a/hosts/jontop/default.nix
+++ b/hosts/jontop/default.nix
@@ -29,7 +29,7 @@
liberation_ttf
noto-fonts
noto-fonts-cjk-sans
- noto-fonts-emoji
+ noto-fonts-color-emoji
nerd-fonts.fira-code
texlive.combined.scheme-full
];
@@ -37,16 +37,18 @@
environment.systemPackages = [
pkgs.man-pages
pkgs.man-pages-posix
+ pkgs.xbacklight
];
documentation.dev.enable = true;
modules = {
+ hardware = {
+ laptop.enable = true;
+ };
device = {
cpu = "intel";
gpu = "intel";
drive = "ssd";
- hasBluetooth = true;
- hasPrinter = true;
};
desktop = {
niri.enable = true;
diff --git a/modules/desktop/apps/editors/neovim.nix b/modules/desktop/apps/editors/neovim.nix
index 304aca7..e3bb02e 100644
--- a/modules/desktop/apps/editors/neovim.nix
+++ b/modules/desktop/apps/editors/neovim.nix
@@ -22,9 +22,10 @@ in {
};
home.packages = [
- pkgs.clang-tools
pkgs.nil
pkgs.texlab
+ pkgs.zls
+ pkgs.wgsl-analyzer
];
home.manager.programs.neovim = {
@@ -34,8 +35,8 @@ in {
withNodeJs = true;
extraConfig = ''
- luafile /etc/nixos/config/nvim/lua/settings.lua
- luafile /etc/nixos/config/nvim/lua/lsp.lua
+ luafile ~/.config/nvim/lua/settings.lua
+ luafile ~/.config/nvim/lua/lsp.lua
'';
coc.enable = true;
coc.settings = {
@@ -47,6 +48,16 @@ in {
"nix.enableLanguageServer" = true;
"nix.serverPath" = "nil";
+
+ "zig.enabled" = true;
+ "zig.path" = "${pkgs.zls}/bin/zls";
+
+ "languageserver" = {
+ "wgsl" = {
+ "command" = "${pkgs.wgsl-analyzer}/bin/wgsl-analyzer";
+ "filetypes" = [ "wgsl" ];
+ };
+ };
};
plugins = with pkgs.vimPlugins; [
@@ -60,6 +71,7 @@ in {
popup-nvim
plenary-nvim
telescope-nvim
+ wgsl-vim
nvim-lspconfig
nvim-treesitter nvim-treesitter.withAllGrammars
diff --git a/modules/desktop/greetd.nix b/modules/desktop/greetd.nix
index 0bc5208..4177839 100644
--- a/modules/desktop/greetd.nix
+++ b/modules/desktop/greetd.nix
@@ -15,9 +15,6 @@ in {
};
config = lib.mkIf (greetdConf.enable) {
- services.greetd = {
- enable = true;
- };
security.pam.services.greetd.enableGnomeKeyring = true;
};
}
diff --git a/modules/desktop/niri.nix b/modules/desktop/niri.nix
index 1cf80e8..0b0a902 100644
--- a/modules/desktop/niri.nix
+++ b/modules/desktop/niri.nix
@@ -25,6 +25,11 @@ in {
home.manager.services.polkit-gnome.enable = true;
+ fonts.packages =
+ with pkgs; [
+ adwaita-fonts
+ ];
+
home.packages = with pkgs; [
libnotify
killall
@@ -34,13 +39,29 @@ in {
mako
jq
swww
+
+ adwaita-icon-theme
+ adwaita-icon-theme-legacy
];
+ home.manager.xdg.configFile."niri/config.kdl".source = "${configDir}/niri/${config.networking.hostName}.kdl";
+
+ programs.regreet = {
+ enable = true;
+ theme.name = "Adwaita";
+ cursorTheme.name = "Adwaita";
+ };
+
+ home.file.".icons/default".source = "${pkgs.adwaita-icon-theme}/share/icons/Adwaita";
+
modules.device.displayProtocol = "wayland";
environment.sessionVariables.NIXOS_OZONE_WL = "1";
- home.manager.xdg.configFile."niri/config.kdl".source = "${configDir}/niri/${config.networking.hostName}.kdl";
+ home.manager.gtk.cursorTheme = {
+ name = "Adwaita";
+ size = 12;
+ };
system.userActivationScripts.linkwaybar.text = ''
if [[ ! -h "$HOME/.config/waybar" ]]; then
@@ -49,19 +70,6 @@ in {
'';
}
(lib.mkIf (config.modules.desktop.greetd.enable) {
- services.greetd.settings = {
- default_session.command = ''
- ${pkgs.greetd.tuigreet}/bin/tuigreet \
- --time \
- --asterisks \
- --user-menu \
- --cmd niri-session
- '';
- };
-
- environment.etc."greetd/environments".text = ''
- Niri
- '';
})
]);
}
diff --git a/modules/device.nix b/modules/device.nix
index fbf4d95..e46e4fa 100644
--- a/modules/device.nix
+++ b/modules/device.nix
@@ -10,8 +10,8 @@
gpu = lib.mkOption {type = lib.types.enum ["intel" "nvidia"];};
drive = lib.mkOption {type = lib.types.enum ["ssd" "nvme"];};
- hasBluetooth = lib.mkOption {type = lib.types.bool;};
- hasPrinter = lib.mkOption { type = lib.types.bool; };
- displayProtocol = lib.mkOption {type = lib.types.enum ["xserver" "wayland"];};
+ hasBluetooth = lib.mkOption {type = lib.types.bool; default = true; };
+ hasPrinter = lib.mkOption { type = lib.types.bool; default = true; };
+ displayProtocol = lib.mkOption {type = lib.types.enum ["xserver" "wayland"]; default = "wayland"; };
};
}
diff --git a/modules/hardware/laptop.nix b/modules/hardware/laptop.nix
new file mode 100644
index 0000000..af8d581
--- /dev/null
+++ b/modules/hardware/laptop.nix
@@ -0,0 +1,40 @@
+{
+ config,
+ lib,
+ pkgs,
+ ...
+}: let
+ laptopConfig = config.modules.hardware.laptop;
+in {
+ options.modules.hardware.laptop = {
+ enable = lib.mkOption {
+ type = lib.types.bool;
+ default = false;
+ };
+ };
+
+ config = lib.mkIf (laptopConfig.enable) {
+ services.thermald.enable = true;
+ services.tlp = {
+ enable = true;
+ settings = {
+ CPU_SCALING_GOVERNOR_ON_AC = "performance";
+ CPU_SCALING_GOVERNOR_ON_BAT = "powersave";
+
+ CPU_ENERGY_PERF_POLICY_ON_AC = "performance";
+ CPU_ENERGY_PERF_POLICY_ON_BAT = "power";
+
+ CPU_MIN_PERF_ON_AC = 0;
+ CPU_MAX_PERF_ON_AC = 100;
+
+ CPU_MIN_PERF_ON_BAT = 0;
+ CPU_MAX_PERF_ON_BAT = 33;
+
+ START_CHARGE_THRESH_BAT0 = 75;
+ STOP_CHARGE_THRESH_BAT0 = 95;
+ };
+ };
+
+ environment.systemPackages = with pkgs; [ xorg.xbacklight ];
+ };
+}
diff --git a/overlay.nix b/overlay.nix
index a749f87..aacbcaa 100644
--- a/overlay.nix
+++ b/overlay.nix
@@ -30,7 +30,7 @@
owner = "CleverRaven";
repo = "Cataclysm-DDA";
rev = "${final.cataclysm-dda.version}-branch";
- sha256 = "sha256-1FStdkXC1b1SE+UeIn7Z7Omtm/cDmlI1b55hGxfCXPs=";
+ sha256 = "sha256-XdrmnWgfIz1d8FSQE45efx4Lnz3AE1o6QbggbS3fuMI=";
};
patches = [];
});