Changes
This commit is contained in:
parent
b921c2ac47
commit
8ea644f665
|
@ -16,6 +16,7 @@
|
|||
# Enabled modules
|
||||
modules = {
|
||||
base.enable = true;
|
||||
bluetooth.enable = true;
|
||||
power-saving.enable = false;
|
||||
pipewire.enable = true;
|
||||
wpa_supplicant.enable = true;
|
||||
|
|
|
@ -0,0 +1,23 @@
|
|||
{
|
||||
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;
|
||||
};
|
||||
}
|
|
@ -10,6 +10,7 @@ with lib;
|
|||
imports = [
|
||||
# Import modules
|
||||
./base/default.nix
|
||||
./bluetooth/default.nix
|
||||
./boot/clean-tmp.nix
|
||||
./boot/silent-boot.nix
|
||||
./boot/systemd-boot.nix
|
||||
|
|
|
@ -8,7 +8,12 @@
|
|||
with lib;
|
||||
let
|
||||
# Nixvim
|
||||
nixvim = import (builtins.fetchGit { url = "https://github.com/nix-community/nixvim"; });
|
||||
nixvim = import (
|
||||
builtins.fetchGit {
|
||||
url = "https://github.com/nix-community/nixvim";
|
||||
# ref = "nixos-24.05";
|
||||
}
|
||||
);
|
||||
|
||||
# Stylix
|
||||
stylix = import (
|
||||
|
|
|
@ -0,0 +1,28 @@
|
|||
{
|
||||
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";
|
||||
};
|
||||
};
|
||||
}
|
|
@ -19,6 +19,23 @@ 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;
|
||||
|
||||
|
|
|
@ -8,11 +8,13 @@
|
|||
{
|
||||
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
|
||||
|
@ -27,6 +29,7 @@
|
|||
./terminal/foot/default.nix
|
||||
./theming/default.nix
|
||||
./vscode/default.nix
|
||||
./whatsapp/default.nix
|
||||
./winbox/default.nix
|
||||
./zathura/default.nix
|
||||
|
||||
|
|
|
@ -35,6 +35,7 @@ in
|
|||
"mpris"
|
||||
];
|
||||
modules-right = [
|
||||
"bluetooth"
|
||||
"network"
|
||||
"pulseaudio"
|
||||
"battery"
|
||||
|
@ -110,6 +111,11 @@ 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
|
||||
|
@ -133,7 +139,7 @@ in
|
|||
padding: 0 5px 1px 5px;
|
||||
border-radius: 0;
|
||||
font-size: 16px;
|
||||
font-family: "Unifont";
|
||||
font-family: "wenquanyi bitmap song";
|
||||
}
|
||||
|
||||
#tags button.occupied {
|
||||
|
|
|
@ -36,6 +36,8 @@ in
|
|||
[
|
||||
pkgs.wl-clipboard
|
||||
pkgs.wtype
|
||||
pkgs.grim
|
||||
pkgs.slurp
|
||||
]
|
||||
);
|
||||
|
||||
|
|
|
@ -25,6 +25,7 @@ in
|
|||
# TODO: Move elsewhere
|
||||
home.packages = with pkgs; [
|
||||
brightnessctl
|
||||
river-filtile
|
||||
# owm
|
||||
];
|
||||
|
||||
|
@ -56,7 +57,7 @@ in
|
|||
xwayland.enable = true;
|
||||
settings =
|
||||
let
|
||||
layout = "rivertile";
|
||||
layout = "filtile";
|
||||
layoutOptions = "-outer-padding ${toString config.theming.layout.windowPadding} -view-padding ${toString config.theming.layout.windowPadding}";
|
||||
modes = [
|
||||
"normal"
|
||||
|
@ -108,7 +109,7 @@ in
|
|||
];
|
||||
map = (
|
||||
lib.attrsets.recursiveUpdate
|
||||
({
|
||||
{
|
||||
normal =
|
||||
{
|
||||
"${main} Q" = "close";
|
||||
|
@ -119,6 +120,7 @@ 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";
|
||||
|
@ -130,22 +132,22 @@ in
|
|||
"${main} Return" = "zoom";
|
||||
|
||||
# Main ratio
|
||||
"${main} H" = "send-layout-cmd rivertile 'main-ratio -0.05'";
|
||||
"${main} L" = "send-layout-cmd rivertile 'main-ratio +0.05'";
|
||||
"${main} H" = "send-layout-cmd ${layout} 'main-ratio -0.05'";
|
||||
"${main} L" = "send-layout-cmd ${layout} 'main-ratio +0.05'";
|
||||
|
||||
# Main count
|
||||
"${ssm} H" = "send-layout-cmd rivertile 'main-count +1'";
|
||||
"${ssm} L" = "send-layout-cmd rivertile 'main-count -1'";
|
||||
"${ssm} H" = "send-layout-cmd ${layout} 'main-count +1'";
|
||||
"${ssm} L" = "send-layout-cmd ${layout} '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 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\"";
|
||||
"${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\"";
|
||||
|
||||
# Move floating windows
|
||||
"${sam} H" = "move left 100";
|
||||
|
@ -191,7 +193,7 @@ in
|
|||
]) tags
|
||||
)
|
||||
);
|
||||
})
|
||||
}
|
||||
(
|
||||
builtins.listToAttrs (
|
||||
map (mode: {
|
||||
|
|
|
@ -0,0 +1,40 @@
|
|||
{
|
||||
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 = { };
|
||||
};
|
||||
}
|
|
@ -17,28 +17,31 @@ in
|
|||
config = mkIf cfg.enable {
|
||||
# Development packages
|
||||
home.packages = with pkgs; [
|
||||
# rustup
|
||||
rustc
|
||||
cargo
|
||||
rustup
|
||||
# rustc
|
||||
# cargo
|
||||
gcc
|
||||
# lldb
|
||||
gdb
|
||||
rust-analyzer
|
||||
rustfmt
|
||||
lldb
|
||||
# rust-analyzer
|
||||
# rustfmt
|
||||
# clippy
|
||||
];
|
||||
|
||||
# VSCode configuration
|
||||
programs.vscode = {
|
||||
extensions = with pkgs.vscode-extensions; [
|
||||
rust-lang.rust-analyzer
|
||||
# ms-vscode.cpp-tools
|
||||
vadimcn.vscode-lldb
|
||||
tamasfe.even-better-toml
|
||||
serayuzgur.crates
|
||||
];
|
||||
|
||||
userSettings = {
|
||||
"[rust]" = {
|
||||
"editor.inlayHints.enabled" = "off";
|
||||
};
|
||||
"rust-analyzer.check.command" = "clippy";
|
||||
"rust-analyzer.showUnlinkedFileNotification" = false;
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
@ -101,6 +101,8 @@ in
|
|||
# Import all themes
|
||||
./themes/catppuccin.nix
|
||||
./themes/gruvbox.nix
|
||||
./themes/oxocarbon.nix
|
||||
./themes/papercolor.nix
|
||||
./themes/sakura.nix
|
||||
];
|
||||
|
||||
|
|
|
@ -0,0 +1,25 @@
|
|||
{
|
||||
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";
|
||||
};
|
||||
}
|
|
@ -0,0 +1,25 @@
|
|||
{
|
||||
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";
|
||||
};
|
||||
}
|
|
@ -35,6 +35,9 @@ in
|
|||
extensions = with pkgs.vscode-extensions; [
|
||||
eamodio.gitlens
|
||||
ms-vscode.hexeditor
|
||||
mkhl.direnv
|
||||
usernamehw.errorlens
|
||||
gruntfuggly.todo-tree
|
||||
];
|
||||
|
||||
userSettings = {
|
||||
|
|
|
@ -0,0 +1,22 @@
|
|||
{
|
||||
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 ];
|
||||
};
|
||||
}
|
|
@ -7,6 +7,9 @@
|
|||
# State version
|
||||
home.stateVersion = "24.05";
|
||||
|
||||
# TODO: Move into modules
|
||||
home.packages = with pkgs; [ libreoffice-fresh ];
|
||||
|
||||
# Enabled modules
|
||||
modules = {
|
||||
# Window manager
|
||||
|
@ -26,6 +29,7 @@
|
|||
vscode.enable = true;
|
||||
zathura.enable = true;
|
||||
fish.enable = true;
|
||||
whatsapp.enable = true;
|
||||
winbox.enable = true;
|
||||
discord.enable = true;
|
||||
qutebrowser = {
|
||||
|
@ -35,8 +39,10 @@
|
|||
neovim.enable = true;
|
||||
rofi-rbw.enable = true;
|
||||
obsidian.enable = true;
|
||||
bluetuith.enable = true;
|
||||
|
||||
# Programming languages
|
||||
haskell.enable = true;
|
||||
nix.enable = true;
|
||||
rust.enable = true;
|
||||
|
||||
|
@ -58,11 +64,25 @@
|
|||
fonts.extraFonts = [ ];
|
||||
|
||||
# Color scheme
|
||||
themes.oxocarbon = {
|
||||
enable = false;
|
||||
darkMode = false;
|
||||
};
|
||||
themes.catppuccin = {
|
||||
enable = true;
|
||||
flavor = "latte";
|
||||
flavor = "mocha";
|
||||
};
|
||||
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";
|
||||
};
|
||||
|
||||
# TODO: Remove everything below, it is here out of convenience and should be elsewhere
|
||||
|
|
Loading…
Reference in New Issue