Compare commits

..

No commits in common. "8ea644f66524045f937b175ec6c40f32b2530195" and "7e368b4f40511df7cf7e4ca46e13bdd47d3872b4" have entirely different histories.

23 changed files with 53 additions and 320 deletions

View File

@ -16,7 +16,6 @@
# Enabled modules
modules = {
base.enable = true;
bluetooth.enable = true;
power-saving.enable = false;
pipewire.enable = true;
wpa_supplicant.enable = true;

View File

@ -1,23 +0,0 @@
{
lib,
config,
pkgs,
...
}:
with lib;
let
cfg = config.modules.bluetooth;
in
{
options.modules.bluetooth = {
enable = mkEnableOption "bluetooth";
};
config = mkIf cfg.enable {
environment.systemPackages = with pkgs; [ bluez ];
hardware.bluetooth.enable = true;
hardware.bluetooth.powerOnBoot = true;
};
}

View File

@ -10,7 +10,6 @@ with lib;
imports = [
# Import modules
./base/default.nix
./bluetooth/default.nix
./boot/clean-tmp.nix
./boot/silent-boot.nix
./boot/systemd-boot.nix

View File

@ -8,12 +8,7 @@
with lib;
let
# Nixvim
nixvim = import (
builtins.fetchGit {
url = "https://github.com/nix-community/nixvim";
# ref = "nixos-24.05";
}
);
nixvim = import (builtins.fetchGit { url = "https://github.com/nix-community/nixvim"; });
# Stylix
stylix = import (

View File

@ -1,28 +0,0 @@
{
lib,
config,
pkgs,
...
}:
with lib;
let
cfg = config.modules.bluetuith;
in
{
options.modules.bluetuith = {
enable = mkEnableOption "bluetuith";
};
config = mkIf cfg.enable {
home.packages = with pkgs; [ bluetuith ];
# Add nix tree
xdg.desktopEntries.bluetuith = {
exec = "${pkgs.bluetuith}/bin/bluetuith";
name = "Bluetuith";
terminal = true;
type = "Application";
};
};
}

View File

@ -19,23 +19,6 @@ in
config = mkIf cfg.enable {
default.browser = mkIf cfg.default "org.qutebrowser.qutebrowser.desktop";
# TODO: Remove once nixpkgs updates
nixpkgs.config.packageOverrides = pkgs: {
python3 = pkgs.python3.override {
packageOverrides = self: super: {
pykeepass = super.pykeepass.overrideAttrs (attrs: {
version = "4.1.0.post1";
src = pkgs.fetchFromGitHub {
owner = "libkeepass";
repo = "pykeepass";
rev = "refs/tags/v4.1.0.post1";
hash = "sha256-64is/XoRF/kojqd4jQIAQi1od8TRhiv9uR+WNIGvP2A=";
};
});
};
};
};
programs.qutebrowser = {
enable = true;

View File

@ -8,13 +8,11 @@
{
imports = [
# Import all modules
./bluetuith/default.nix
./browser/default.nix
./desktop/default.nix
./discord/default.nix
./feishin/default.nix
./fontconfig/default.nix
./language/haskell.nix
./language/nix.nix
./language/rust.nix
./mako/default.nix
@ -29,7 +27,6 @@
./terminal/foot/default.nix
./theming/default.nix
./vscode/default.nix
./whatsapp/default.nix
./winbox/default.nix
./zathura/default.nix

View File

@ -5,7 +5,7 @@ precision mediump float;
uniform float time;
uniform vec2 resolution;
#define iTime time * 0.05 + 50.0
#define iTime time * 0.01 + 10.0
#define iResolution resolution
#define fragCoord gl_FragCoord
#define fragColor gl_FragColor

View File

@ -20,7 +20,6 @@ in
home.packages = with pkgs; [
pulsemixer
playerctl
wpa_supplicant_gui # TODO: Move
];
programs.waybar = {
@ -35,8 +34,6 @@ in
"mpris"
];
modules-right = [
"bluetooth"
"network"
"pulseaudio"
"battery"
"clock"
@ -58,13 +55,6 @@ in
];
disable-click = false;
};
network = {
tooltip = false;
on-click = "wpa_gui";
format-wifi = " {essid}"; # Spacing achieved using "Thin Space"
format-ethernet = "TODO";
format-disconnected = "";
};
pulseaudio = {
tooltip = false;
format = "{icon}{volume}%"; # Spacing achieved using "Thin Space"
@ -111,11 +101,6 @@ in
tooltip-format = "";
interval = 1;
};
bluetooth = {
tooltip = false;
format = "{status}"; # Spacing achieved using "Thin Space"
format-connected = "{device_alias}"; # Spacing achieved using "Thin Space"
};
};
};
# TODO: Replace base03 color with named color
@ -139,7 +124,7 @@ in
padding: 0 5px 1px 5px;
border-radius: 0;
font-size: 16px;
font-family: "wenquanyi bitmap song";
font-family: "Unifont";
}
#tags button.occupied {

View File

@ -36,8 +36,6 @@ in
[
pkgs.wl-clipboard
pkgs.wtype
pkgs.grim
pkgs.slurp
]
);

View File

@ -22,34 +22,27 @@ in
# TODO: Move elsewhere and make keybindings more configurable
modules.rofi.enable = true;
# TODO: Move elsewhere
home.packages = with pkgs; [
brightnessctl
river-filtile
# owm
];
# Change desktop to execute river
modules.desktop.initScript = ''
river
'';
# Update background after rebuild
# home.activation = {
# river = lib.hm.dag.entryBetween [ "reloadSystemd" ] [ "installPackages" ] ''
# # Close waybar
# PATH="${pkgs.procps}/bin:$PATH" $DRY_RUN_CMD pkill waybar
home.activation = {
river = lib.hm.dag.entryBetween [ "reloadSystemd" ] [ "installPackages" ] ''
# Close waybar
PATH="${pkgs.procps}/bin:$PATH" $DRY_RUN_CMD pkill waybar
# # Kill rivertile
# PATH="${pkgs.procps}/bin:$PATH" $DRY_RUN_CMD pkill rivertile
# Kill rivertile
PATH="${pkgs.procps}/bin:$PATH" $DRY_RUN_CMD pkill rivertile
# # Kill glpaper
# PATH="${pkgs.procps}/bin:$PATH" $DRY_RUN_CMD pkill glpaper
# Kill glpaper
PATH="${pkgs.procps}/bin:$PATH" $DRY_RUN_CMD pkill glpaper
# # Restart river
# PATH="${pkgs.river}/bin:${pkgs.systemd}/bin:${pkgs.waybar}/bin:$PATH" $DRY_RUN_CMD ~/.config/river/init
# '';
# };
# Restart river
PATH="${pkgs.river}/bin:${pkgs.systemd}/bin:$PATH" $DRY_RUN_CMD ~/.config/river/init
'';
};
# River setup
wayland.windowManager.river = {
@ -57,7 +50,7 @@ in
xwayland.enable = true;
settings =
let
layout = "filtile";
layout = "rivertile";
layoutOptions = "-outer-padding ${toString config.theming.layout.windowPadding} -view-padding ${toString config.theming.layout.windowPadding}";
modes = [
"normal"
@ -109,7 +102,7 @@ in
];
map = (
lib.attrsets.recursiveUpdate
{
({
normal =
{
"${main} Q" = "close";
@ -120,7 +113,6 @@ in
"${ssm} Return" = "spawn foot";
"${main} P" = "spawn \"rofi -show drun\"";
"${ssm} P" = "spawn rofi-rbw";
"${main} S" = "spawn \"grim -g \\\"\\\$(slurp)\\\" ~/Images/Screenshots/\\\$(date +'%s_grim.png')\"";
# Window focus
"${main} J" = "focus-view next";
@ -132,22 +124,22 @@ in
"${main} Return" = "zoom";
# Main ratio
"${main} H" = "send-layout-cmd ${layout} 'main-ratio -0.05'";
"${main} L" = "send-layout-cmd ${layout} 'main-ratio +0.05'";
"${main} H" = "send-layout-cmd rivertile 'main-ratio -0.05'";
"${main} L" = "send-layout-cmd rivertile 'main-ratio +0.05'";
# Main count
"${ssm} H" = "send-layout-cmd ${layout} 'main-count +1'";
"${ssm} L" = "send-layout-cmd ${layout} 'main-count -1'";
"${ssm} H" = "send-layout-cmd rivertile 'main-count +1'";
"${ssm} L" = "send-layout-cmd rivertile 'main-count -1'";
# Tags
"${main} 0" = "set-focused-tags ${toString (pow2 32 - 1)}";
"${ssm} 0" = "set-view-tags ${toString (pow2 32 - 1)}";
# Orientation
"${main} Up" = "send-layout-cmd ${layout} \"main-location top\"";
"${main} Right" = "send-layout-cmd ${layout} \"main-location right\"";
"${main} Down" = "send-layout-cmd ${layout} \"main-location bottom\"";
"${main} Left" = "send-layout-cmd ${layout} \"main-location left\"";
"${main} Up" = "send-layout-cmd rivertile \"main-location top\"";
"${main} Right" = "send-layout-cmd rivertile \"main-location right\"";
"${main} Down" = "send-layout-cmd rivertile \"main-location bottom\"";
"${main} Left" = "send-layout-cmd rivertile \"main-location left\"";
# Move floating windows
"${sam} H" = "move left 100";
@ -193,7 +185,7 @@ in
]) tags
)
);
}
})
(
builtins.listToAttrs (
map (mode: {
@ -238,7 +230,6 @@ in
"-app-id" = {
"'bar'" = "csd";
"'*'" = "ssd";
"'wpa_gui'" = "float";
};
};
};

View File

@ -1,40 +0,0 @@
{
lib,
config,
pkgs,
...
}:
with lib;
let
cfg = config.modules.haskell;
in
{
options.modules.haskell = {
enable = mkEnableOption "haskell";
};
config = mkIf cfg.enable {
# Development packages
home.packages = with pkgs; [
haskell.compiler.ghc948
(haskell-language-server.override { supportedGhcVersions = [ "948" ]; })
];
# VSCode configuration
programs.vscode = {
extensions = with pkgs.vscode-extensions; [
haskell.haskell
justusadam.language-haskell
];
userSettings = {
"[haskell]" = { };
# "haskell.formattingProvider" = "fourmolu";
};
};
# Neovim configuration
programs.nixvim = { };
};
}

View File

@ -17,31 +17,18 @@ in
config = mkIf cfg.enable {
# Development packages
home.packages = with pkgs; [
rustup
# rustc
# cargo
gcc
lldb
# rust-analyzer
# rustfmt
# clippy
rustc
cargo
rust-analyzer
rustfmt
];
# VSCode configuration
programs.vscode = {
extensions = with pkgs.vscode-extensions; [
rust-lang.rust-analyzer
vadimcn.vscode-lldb
tamasfe.even-better-toml
serayuzgur.crates
];
extensions = with pkgs.vscode-extensions; [ rust-lang.rust-analyzer ];
userSettings = {
"[rust]" = {
"editor.inlayHints.enabled" = "off";
};
"rust-analyzer.check.command" = "clippy";
"rust-analyzer.showUnlinkedFileNotification" = false;
"[rust]" = { };
};
};

View File

@ -14,9 +14,5 @@ in
enable = mkEnableOption "obsidian";
};
config = mkIf cfg.enable {
modules.unfree.allowedPackages = [ "obsidian" ];
home.packages = with pkgs; [ obsidian ];
};
config = mkIf cfg.enable { home.packages = with pkgs; [ obsidian ]; };
}

View File

@ -22,6 +22,7 @@ in
enable = true;
settings = {
base_url = "https://keys.bulthuis.dev";
identity_url = "https://keys.bulthuis.dev";
email = "jan@bulthuis.dev";
pinentry = pkgs.pinentry;
};

View File

@ -101,8 +101,6 @@ in
# Import all themes
./themes/catppuccin.nix
./themes/gruvbox.nix
./themes/oxocarbon.nix
./themes/papercolor.nix
./themes/sakura.nix
];

View File

@ -1,25 +0,0 @@
{
config,
lib,
pkgs,
...
}:
with lib;
let
cfg = config.theming.themes.oxocarbon;
mode = if cfg.darkMode then "dark" else "light";
in
{
options = {
theming.themes.oxocarbon = {
enable = mkEnableOption "oxocarbon";
darkMode = mkEnableOption "dark mode";
};
};
config.theming = mkIf cfg.enable {
darkMode = cfg.darkMode;
colorScheme = "${pkgs.base16-schemes}/share/themes/oxocarbon-${mode}.yaml";
};
}

View File

@ -1,25 +0,0 @@
{
config,
lib,
pkgs,
...
}:
with lib;
let
cfg = config.theming.themes.papercolor;
mode = if cfg.darkMode then "dark" else "light";
in
{
options = {
theming.themes.papercolor = {
enable = mkEnableOption "papercolor";
darkMode = mkEnableOption "dark mode";
};
};
config.theming = mkIf cfg.enable {
darkMode = cfg.darkMode;
colorScheme = "${pkgs.base16-schemes}/share/themes/papercolor-${mode}.yaml";
};
}

View File

@ -32,13 +32,7 @@ in
enable = true;
mutableExtensionsDir = false;
extensions = with pkgs.vscode-extensions; [
eamodio.gitlens
ms-vscode.hexeditor
mkhl.direnv
usernamehw.errorlens
gruntfuggly.todo-tree
];
extensions = with pkgs.vscode-extensions; [ eamodio.gitlens ];
userSettings = {
# Font setup

View File

@ -1,22 +0,0 @@
{
config,
lib,
pkgs,
...
}:
with lib;
let
cfg = config.modules.whatsapp;
in
{
options.modules.whatsapp = {
enable = mkEnableOption "whatsapp";
};
config = mkIf cfg.enable {
modules.unfree.allowedPackages = [ "whatsapp-for-linux" ];
home.packages = with pkgs; [ whatsapp-for-linux ];
};
}

View File

@ -6,6 +6,20 @@
}:
with lib;
# let
# mkPackage = path: (mkOption {
# type = types.package;
# default = (pkgs.callPackage path) {};
# description = (mkPackage path).default.name;
# });
# in {
# options.pkgs = {
# # Add all custom packages
# wqy-zenhei = mkPackage ./fonts/wqy-zenhei.nix;
# wqy-microhei = mkPackage ./fonts/wqy-microhei.nix;
# wqy-bitmapsong = mkPackage ./fonts/wqy-bitmapsong.nix;
# };
# }
{
nixpkgs.config.packageOverrides = pkgs: rec {
wqy-zenhei = pkgs.callPackage ./fonts/wqy-zenhei.nix { };

View File

@ -1,20 +0,0 @@
{
lib,
config,
pkgs,
...
}:
pkgs.rustPlatform.buildRustPackage rec {
pname = "owm";
version = "0.1.0";
src = pkgs.fetchFromGitHub {
owner = "justinlovinger";
repo = pname;
rev = "master";
sha256 = "sha256-l9usg0XGtghCX8elvjExYJgMuMGeujOoS2n1hCQkN78=";
};
cargoSha256 = "";
}

View File

@ -7,9 +7,6 @@
# State version
home.stateVersion = "24.05";
# TODO: Move into modules
home.packages = with pkgs; [ libreoffice-fresh ];
# Enabled modules
modules = {
# Window manager
@ -29,7 +26,6 @@
vscode.enable = true;
zathura.enable = true;
fish.enable = true;
whatsapp.enable = true;
winbox.enable = true;
discord.enable = true;
qutebrowser = {
@ -38,11 +34,8 @@
};
neovim.enable = true;
rofi-rbw.enable = true;
obsidian.enable = true;
bluetuith.enable = true;
# Programming languages
haskell.enable = true;
nix.enable = true;
rust.enable = true;
@ -64,25 +57,11 @@
fonts.extraFonts = [ ];
# Color scheme
themes.oxocarbon = {
enable = false;
darkMode = false;
};
themes.catppuccin = {
enable = true;
flavor = "mocha";
enable = false;
flavor = "latte";
};
themes.sakura.enable = false;
# TODO: Remove
# Nice themes:
# - rose-pine-dawn: Decent, bit too yellow though.
# - sagelight: Barely readable
# - danqing-light: Too minty
# - fruit-soda: Colors too bright, background too dark.
# - solarflare-light: Nice
# darkMode = false;
# colorScheme = "${pkgs.base16-schemes}/share/themes/solarflare-light.yaml";
themes.sakura.enable = true;
};
# TODO: Remove everything below, it is here out of convenience and should be elsewhere