Compare commits

...

5 commits

27 changed files with 165 additions and 70 deletions

16
.vscode/tasks.json vendored Normal file
View file

@ -0,0 +1,16 @@
{
// docs: https://go.microsoft.com/fwlink/?LinkId=733558
"version": "2.0.0",
"tasks": [
{
"label": "NixOS Switch",
"type": "shell",
"command": "sudo nixos-rebuild --flake /home/deprekated/dotfiles?submodules=1 switch",
"problemMatcher": [],
"group": {
"kind": "build",
"isDefault": true
}
}
]
}

View file

@ -117,10 +117,11 @@
commonModuleSet = [
./nixos/packages
./nixos/dotfiles
./nixos/configs/stylix
./nixos/configs/lix.nix
./nixos/configs/nix.nix
./nixos/configs/dotfiles
./nixos/configs/calendar.nix
./nixos/configs/syncthing.nix
./nixos/configs/include-conf.nix
@ -154,6 +155,8 @@
waveforms.nixosModule
nix-flatpak.nixosModules.nix-flatpak
./nixos/dotfiles/vscode.nix
./nixos/packages/gui.nix
./nixos/packages/wine.nix
./nixos/packages/flatpak.nix
@ -163,7 +166,6 @@
./nixos/configs/flatpak.nix
./nixos/configs/fonts-linux.nix
./nixos/configs/music-server.nix
./nixos/configs/dotfiles/vscode.nix
#./nixos/overlays/fixup-signal
./nixos/overlays/fixup-imhex.nix
@ -174,8 +176,6 @@
./nixos/overlays/fixup-mattermost.nix
./nixos/overlays/yubikey-touch-shitpost
./nixos/overlays/add-depends-calibre.nix
./nixos/services/clipboard-sync.nix
];
# Modules for all darwin machines.
@ -409,9 +409,10 @@
./nixos/hosts/design.nix
./nixos/configuration.droid.nix
./nixos/dotfiles/droid.nix
./nixos/configs/nix.droid.nix
./nixos/configs/droid-gui.nix
./nixos/configs/dotfiles/droid.nix
./nixos/configs/flake-registry.nix
./nixos/packages/droid.nix

View file

@ -1,48 +0,0 @@
{ ... }:
{
home.username = "deprekated";
home.homeDirectory = "/home/deprekated";
# Tie our configruation to the version it was written for.
home.stateVersion = "24.05";
#
# "Raw file" dotfiles.
# These aren't generated by Nix, specifically so we can use them on Windows as well.
#
# xonsh
xdg.configFile.xonsh.source = ../../../xonsh;
# wezterm
xdg.configFile.wezterm.source = ../../../wezterm;
# calendar / contact sync
xdg.configFile.khal.source = ../../../khal;
xdg.configFile.vdirsyncer.source = ../../../vdirsyncer;
# looking-glass
xdg.configFile.looking-glass.source = ../../../looking-glass;
# neovim
xdg.configFile.nvim.source = ../../../nvim;
# tmux
xdg.configFile.tmux.source = ../../../tmux;
# espanso
xdg.configFile.espanso.source = ../../../espanso;
# kakoune
#xdg.configFile."kak/autoload".source = ../../../kak/autoload;
xdg.configFile."kak/wezterm-tab.kak".source = ../../../kak/wezterm-tab.kak;
xdg.configFile."kak/sudo-write.kak".source = ../../../kak/sudo-write.kak;
# taskwarrior
xdg.configFile."task/taskrc".source = ../../../taskwarrior/taskrc;
xdg.dataFile."task/hooks".source = ../../../taskwarrior/hooks;
# talon
home.file.".talon/user".source = ../../../talon;
}

View file

@ -3,6 +3,7 @@
niri,
pkgs,
lib,
deprekages,
...
}:
{
@ -41,7 +42,6 @@
# Don't let Plasma override TLP with PPD.
services.power-profiles-daemon.enable = lib.mkForce false;
# Enable espanso, when possible.
services.espanso.enable = true;
@ -49,7 +49,6 @@
wtype
wl-clipboard
brightnessctl
sddm-chili-theme
nirilock-fancy
xdg-desktop-portal-gtk
@ -126,6 +125,15 @@
enable = true;
settings.main.terminal = "wezterm";
};
#When using plasma, set things up to be more like Niri.
home.file.".local/share/kwin/scripts/karousel".source = deprekages.kde-karousel;
home.file.".local/share/kwin/effects/animations".source = pkgs.fetchFromGitHub {
owner = "peterfajdiga";
repo = "kwin4_effect_geometry_change";
rev = "071609913450fc0b0ea5c39ad985e2fab39a5235";
hash = "sha256-H3cslx6ceAJGXSa0+gNzmUINRoLeYODhGt4pSFfgNbQ=";
};
};
# Use a graphical greeter.
@ -136,7 +144,7 @@
enable = true;
autoNumlock = true;
#wayland.enable = true;
theme = "chili";
#theme = "chili";
};
};

View file

@ -10,6 +10,7 @@ let
"trailblazer" = { id = "JASHWW7-AYYTQLN-QZ6OEOX-EZK4GPA-OYW5IZS-5KAIIVR-MMXMCHL-OERDBQ2"; };
"aigis" = { id = "VKRQ6Q4-CCLJR2I-ECOWXRE-TANA2QZ-BJIAPCN-FFVJSB4-GYJNS4R-Z3LLHQ5"; };
"hinata" = { id = "2SFRG2A-AZ3XPMN-H3RK2Z6-UXPBPIN-DJN7AMN-JBOY23D-EZGFYNR-HRBI2AY"; };
"miko" = { id = "BTJ3C7W-DBPNTTV-NBKNLNM-SYSGFRZ-VG7ODVU-66RQTO7-XXHYXEY-HX323A6"; };
};
in
{

View file

@ -19,6 +19,10 @@
extraRules = ''
# Brother p-touch cube
SUBSYSTEM == "usb", ATTRS{idVendor} == "04f9", ATTRS{idProduct} == "20af", MODE = "0666"
# If we have a Apple T2 VHCI, force it to re-start once things are more up.
# This forces a re-enumeration of the connected devices, and thus makes things like the touch bar work reliably.
ACTION=="add", SUBSYSTEM=="usb", ATTR{serial}=="bce-vhci", ATTR{authorized}=="1", ATTR{authorized}="0", ATTR{authorized}="1"
'';
};

View file

@ -10,11 +10,6 @@
# Enable USB passthrough.
virtualisation.spiceUSBRedirection.enable = true;
# Set our system to use libvirt, too.
boot.kernelModules = [
"kvm-amd"
"kvm-intel"
];
environment.systemPackages = with pkgs; [
libvirt
virtiofsd

View file

@ -5,6 +5,7 @@
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.backupFileExtension = "bak";
home-manager.users.deprekated = callHm ./hm.nix;

47
nixos/dotfiles/hm.nix Normal file
View file

@ -0,0 +1,47 @@
{ config, lib, ... }:
{
home.username = "deprekated";
home.homeDirectory = "/home/deprekated";
# Tie our configruation to the version it was written for.
home.stateVersion = "24.05";
#
# "Raw file" dotfiles.
# These aren't generated by Nix, specifically so we can use them on Windows as well.
#
# xonsh
xdg.configFile.xonsh.source = ../../xonsh;
# wezterm
xdg.configFile.wezterm.source = ../../wezterm;
# calendar / contact sync
xdg.configFile.khal.source = ../../khal;
xdg.configFile.vdirsyncer.source = ../../vdirsyncer;
# looking-glass
xdg.configFile.looking-glass.source = ../../looking-glass;
# neovim
xdg.configFile.nvim.source = ../../nvim;
# tmux
xdg.configFile.tmux.source = ../../tmux;
# espanso
xdg.configFile.espanso.source = ../../espanso;
# kakoune
#xdg.configFile."kak/autoload".source = ../../../kak/autoload;
xdg.configFile."kak/wezterm-tab.kak".source = ../../kak/wezterm-tab.kak;
xdg.configFile."kak/sudo-write.kak".source = ../../kak/sudo-write.kak;
# taskwarrior
xdg.configFile."task/taskrc".source = ../../taskwarrior/taskrc;
xdg.dataFile."task/hooks".source = ../../taskwarrior/hooks;
# place our gtk2-rc in a place where it won't conflict
gtk.gtk2.configLocation = "${config.xdg.configHome}/gtk-2.0/gtkrc";
}

View file

@ -4,9 +4,9 @@
{ ... }:
{
# General LSP configuration.
xdg.configFile."kak-lsp/kak-lsp.toml".source = ../../../kak/kak-lsp.toml;
xdg.configFile."kak-tree-sitter/config.toml".source = ../../../kak/kak-tree-sitter.toml;
xdg.configFile."kak/colors".source = ../../../kak/colors;
xdg.configFile."kak-lsp/kak-lsp.toml".source = ../../kak/kak-lsp.toml;
xdg.configFile."kak-tree-sitter/config.toml".source = ../../kak/kak-tree-sitter.toml;
xdg.configFile."kak/colors".source = ../../kak/colors;
programs.kakoune.config = {

View file

@ -134,7 +134,7 @@
colorscheme solarized-darker
# Use wezterm when possible, and tmux otherwise.
source ${../../../kak/wezterm-tab.kak}
source ${../../kak/wezterm-tab.kak}
set global windowing_modules 'wezterm-tab' 'tmux'
# Enable auotmatic hovering.
@ -161,7 +161,7 @@
}
# Misc plugins.
source ${../../../kak/sudo-write.kak}
source ${../../kak/sudo-write.kak}
'';
plugins = with pkgs.kakounePlugins; [

View file

Before

Width:  |  Height:  |  Size: 193 KiB

After

Width:  |  Height:  |  Size: 193 KiB

View file

@ -2,7 +2,7 @@
{
# talon configuration
home.file.".talon/user" = {
source = ../../../talon;
source = ../../talon;
recursive = true;
};

View file

@ -28,8 +28,9 @@ in
brandonkirbyson.solarized-palenight
# behavior
gregoire.dance
#gregoire.dance
usernamehw.errorlens
reykjalin.vscode-kakoune
editorconfig.editorconfig
# general add-ons
@ -98,6 +99,13 @@ in
# Default to formatting on save.
"editor.formatOnSave" = true;
# Curosrless: don't show decorations until asked.
"cursorless.showOnStart" = false;
# We have our own accessibility tech -- the VSCode option
# mostly focuses around folks using screen readers.
"editor.accessibilitySupport" = "off";
#
# Rust
#

View file

@ -18,7 +18,10 @@
# Use the more up-to-date touchBar option to enabel the touchbar.
hardware.apple-t2.enableTinyDfr = false;
hardware.apple.touchBar.enable = true;
hardware.apple.touchBar = {
enable = true;
settings = {};
};
# Bootloader.
boot.loader.systemd-boot.enable = true;
@ -36,7 +39,7 @@
#
# Hardware configuration.
#
boot.initrd.availableKernelModules = [ "xhci_pci" "nvme" "usbhid" "usb_storage" "sd_mod" ];
boot.initrd.availableKernelModules = [ "xhci_pci" "nvme" "usbhid" "usb_storage" "sd_mod" "apple-bce" "appletbdrm" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];

View file

@ -102,6 +102,9 @@ flake-utils.lib.eachDefaultSystem (
# vscode
vscode-extensions = callPackage ./packages/vscode-extensions.nix { };
# plasma
kde-karousel = callPackage ./packages/kde-karousel.nix { };
# xonsh and xontribs
xonsh-with-xontribs = pkgs.xonsh.override {
extraPackages = pythonPackages: [

49
packages/kde-karousel.nix Normal file
View file

@ -0,0 +1,49 @@
{
lib,
stdenv,
fetchFromGitHub,
typescript,
nodejs,
bash,
}:
stdenv.mkDerivation rec {
pname = "karousel";
version = "0.10";
src = fetchFromGitHub {
owner = "peterfajdiga";
repo = "karousel";
rev = "v${version}";
hash = "sha256-lI3VaCd4eYhWbnYLEIeFiB88SWjd/DF8CUGFmxEXDXo=";
};
nativeBuildInputs = [
typescript
nodejs
bash
];
dontConfigure = true;
dontBuild = true;
# Run the simple commands that generate the plugin.
installPhase = ''
mkdir -p $out/contents/code $out/contents/config
# Build the parts that need to be built...
tsc -p ./src/main --outFile $out/contents/code/main.js
bash ./run-ts.sh ./src/generators/config > $out/contents/config/main.xml
# ... and copy the rest.
cp -r $src/package/* $out/
'';
meta = {
description = "Scrollable tiling Kwin script";
homepage = "https://github.com/peterfajdiga/karousel/releases/download/v0.10/karousel_0_10.tar.gz";
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ ];
mainProgram = "karousel";
platforms = lib.platforms.all;
};
}

View file

@ -19,6 +19,13 @@ in
hash = "sha256-gGTpeOQeIQj2ObyC6504+lzLFUS35RNw5z2/isPRpyM=";
};
reykjalin.vscode-kakoune = quickMarketplaceExtension {
name = "vscode-kakoune";
publisher = "reykjalin";
version = "1.3.1";
hash = "sha256-79nINsgLYRdzikcZshubGt7xMDprlJ246zQejrr3vN0=";
};
#
# Talon-related extensions.