feat: add nix code formatter
This commit is contained in:
parent
231fd16756
commit
1fae0a73d3
52 changed files with 702 additions and 609 deletions
|
@ -1,4 +1,4 @@
|
|||
{ ... }: {
|
||||
{...}: {
|
||||
nix = {
|
||||
settings = {
|
||||
substituters = [
|
||||
|
|
|
@ -1,16 +1,17 @@
|
|||
{ config
|
||||
, home-manager
|
||||
, lib
|
||||
, nixpkgs
|
||||
, nixpkgs-wayland
|
||||
, nix-index-database
|
||||
, nh
|
||||
, nur
|
||||
, nix-melt
|
||||
, nurl
|
||||
, coc-stylelintplus
|
||||
, pkgs
|
||||
, ...
|
||||
{
|
||||
config,
|
||||
home-manager,
|
||||
lib,
|
||||
nixpkgs,
|
||||
nixpkgs-wayland,
|
||||
nix-index-database,
|
||||
nh,
|
||||
nur,
|
||||
nix-melt,
|
||||
nurl,
|
||||
coc-stylelintplus,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
./cachix.nix
|
||||
|
@ -29,7 +30,7 @@
|
|||
nix = {
|
||||
# Edit nix.conf
|
||||
settings = {
|
||||
experimental-features = [ "nix-command" "flakes" ];
|
||||
experimental-features = ["nix-command" "flakes"];
|
||||
keep-outputs = true;
|
||||
keep-derivations = true;
|
||||
auto-optimise-store = true;
|
||||
|
@ -83,25 +84,23 @@
|
|||
./home/tmux.nix
|
||||
|
||||
./device-vars.nix
|
||||
({ osConfig, ... }: {
|
||||
({osConfig, ...}: {
|
||||
services.device-vars = osConfig.services.device-vars;
|
||||
})
|
||||
];
|
||||
|
||||
home.packages = [
|
||||
home.packages =
|
||||
[
|
||||
nix-melt.packages.x86_64-linux.default
|
||||
nurl.packages.x86_64-linux.default
|
||||
] ++
|
||||
|
||||
(with config.nur.repos.rycee; [
|
||||
]
|
||||
++ (with config.nur.repos.rycee; [
|
||||
mozilla-addons-to-nix
|
||||
]) ++
|
||||
|
||||
(with pkgs.nodePackages; [
|
||||
])
|
||||
++ (with pkgs.nodePackages; [
|
||||
undollar
|
||||
]) ++
|
||||
|
||||
(with pkgs; [
|
||||
])
|
||||
++ (with pkgs; [
|
||||
dracula-theme
|
||||
neofetch
|
||||
progress
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ lib, ... }: {
|
||||
{lib, ...}: {
|
||||
options.services.device-vars = with lib; {
|
||||
username = mkOption {
|
||||
description = ''
|
||||
|
|
|
@ -1,10 +1,13 @@
|
|||
{ config, lib, ... }: {
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
./programs.nix
|
||||
];
|
||||
|
||||
programs = {
|
||||
|
||||
starship = let
|
||||
textColor = "#e3e5e5";
|
||||
firstColor = "#bd93f9";
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ pkgs, ... }: {
|
||||
{pkgs, ...}: {
|
||||
programs = {
|
||||
fzf = {
|
||||
enable = true;
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
{ pkgs, ... }: {
|
||||
{pkgs, ...}: {
|
||||
programs = {
|
||||
|
||||
git = {
|
||||
enable = true;
|
||||
lfs.enable = true;
|
||||
|
@ -9,7 +8,7 @@
|
|||
userEmail = "matt@nelim.org";
|
||||
|
||||
includes = [
|
||||
{ path = "${pkgs.dracula-theme}/git-colors"; }
|
||||
{path = "${pkgs.dracula-theme}/git-colors";}
|
||||
];
|
||||
|
||||
delta = {
|
||||
|
|
2
common/home/neovim/base.lua
Normal file
2
common/home/neovim/base.lua
Normal file
|
@ -0,0 +1,2 @@
|
|||
-- Add `:Format` command to format current buffer
|
||||
vim.api.nvim_create_user_command("Format", "call CocAction('format')", {})
|
|
@ -1,6 +1,11 @@
|
|||
{ pkgs, lib, ... }: let
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
# installs a vim plugin from git with a given tag / branch
|
||||
plugin = owner: repo: rev: hash: pkgs.vimUtils.buildVimPlugin {
|
||||
plugin = owner: repo: rev: hash:
|
||||
pkgs.vimUtils.buildVimPlugin {
|
||||
pname = "${lib.strings.sanitizeDerivationName repo}";
|
||||
version = rev;
|
||||
src = pkgs.fetchFromGitHub {
|
||||
|
@ -11,18 +16,17 @@
|
|||
in {
|
||||
# TODO: make a gradle module and have java in device-vars.nix
|
||||
xdg.dataFile = {
|
||||
".gradle/gradle.properties".source =
|
||||
pkgs.writeText "gradle.properties" ''
|
||||
".gradle/gradle.properties".source = pkgs.writeText "gradle.properties" ''
|
||||
org.gradle.java.home = ${pkgs.temurin-bin-17}
|
||||
'';
|
||||
};
|
||||
home.packages = with pkgs; [
|
||||
gradle
|
||||
gradle-completion # FIXME: not working
|
||||
alejandra
|
||||
];
|
||||
|
||||
programs = {
|
||||
|
||||
java = {
|
||||
enable = true;
|
||||
package = pkgs.temurin-bin-17;
|
||||
|
@ -95,8 +99,13 @@ in {
|
|||
languageserver = {
|
||||
nix = {
|
||||
command = "nil";
|
||||
filetypes = [ "nix" ];
|
||||
rootPatterns = [ "flake.nix" ];
|
||||
filetypes = ["nix"];
|
||||
rootPatterns = ["flake.nix"];
|
||||
settings = {
|
||||
nil = {
|
||||
formatting = {command = ["alejandra"];};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -107,6 +116,7 @@ in {
|
|||
};
|
||||
|
||||
extraConfig = fileContents ./base.vim;
|
||||
extraLuaConfig = fileContents ./base.lua;
|
||||
|
||||
plugins = with pkgs.vimPlugins; [
|
||||
# Coc configured
|
||||
|
@ -173,9 +183,10 @@ in {
|
|||
config = fileContents ./plugins/treesitter.vim;
|
||||
}
|
||||
{
|
||||
plugin = (plugin "lukas-reineke" "indent-blankline.nvim"
|
||||
plugin =
|
||||
plugin "lukas-reineke" "indent-blankline.nvim"
|
||||
"046e2cf04e08ece927bacbfb87c5b35c0b636546"
|
||||
"sha256-bhoep8aTYje5K/dZ/XmpwBPn4PBEMPrmw33QJdfFe6M=");
|
||||
"sha256-bhoep8aTYje5K/dZ/XmpwBPn4PBEMPrmw33QJdfFe6M=";
|
||||
type = "lua";
|
||||
config = fileContents ./plugins/indent.lua;
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ pkgs, ... }: {
|
||||
{pkgs, ...}: {
|
||||
programs = {
|
||||
tmux = {
|
||||
enable = true;
|
||||
|
|
|
@ -1,17 +1,18 @@
|
|||
{ pkgs, ... }: {
|
||||
{pkgs, ...}: {
|
||||
fonts = {
|
||||
fontconfig = {
|
||||
enable = true;
|
||||
defaultFonts = {
|
||||
emoji = [ "Noto Color Emoji" ];
|
||||
monospace = [ "Noto Nerd Font" ];
|
||||
sansSerif = [ "Noto Nerd Font" ];
|
||||
serif = [ "Noto Nerd Font" ];
|
||||
emoji = ["Noto Color Emoji"];
|
||||
monospace = ["Noto Nerd Font"];
|
||||
sansSerif = ["Noto Nerd Font"];
|
||||
serif = ["Noto Nerd Font"];
|
||||
};
|
||||
};
|
||||
|
||||
packages = with pkgs; [
|
||||
(nerdfonts.override { fonts = [
|
||||
(nerdfonts.override {
|
||||
fonts = [
|
||||
"JetBrainsMono"
|
||||
"Go-Mono"
|
||||
"Iosevka"
|
||||
|
@ -19,7 +20,8 @@
|
|||
"SpaceMono"
|
||||
"Ubuntu"
|
||||
"Noto"
|
||||
]; })
|
||||
];
|
||||
})
|
||||
noto-fonts
|
||||
noto-fonts-cjk
|
||||
noto-fonts-emoji
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
{ pkgs, ... }: {
|
||||
{pkgs, ...}: {
|
||||
services = {
|
||||
|
||||
fwupd.enable = true;
|
||||
upower.enable = true;
|
||||
|
||||
|
|
|
@ -1,9 +1,13 @@
|
|||
final: prev: {
|
||||
blueberry = prev.blueberry.overrideAttrs (o: {
|
||||
patches = (o.patches or [ ]) ++ [
|
||||
patches =
|
||||
(o.patches or [])
|
||||
++ [
|
||||
./patches/wayland.patch
|
||||
];
|
||||
buildInputs = (o.buildInputs or [ ]) ++ [
|
||||
buildInputs =
|
||||
(o.buildInputs or [])
|
||||
++ [
|
||||
prev.libappindicator
|
||||
];
|
||||
});
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ neovim-flake, ... }: {
|
||||
{neovim-flake, ...}: {
|
||||
imports = [
|
||||
./dracula-theme.nix
|
||||
./regreet.nix
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ pkgs, ... }: let
|
||||
{pkgs, ...}: let
|
||||
plymouth = pkgs.fetchFromGitHub {
|
||||
owner = "dracula";
|
||||
repo = "plymouth";
|
||||
|
@ -27,9 +27,9 @@
|
|||
hash = "sha256-f9FwSOSvqTeDj4bOjYUQ6TM+/carCD9o5dhg/MnP/lk=";
|
||||
};
|
||||
in {
|
||||
nixpkgs.overlays = [ (final: prev: {
|
||||
nixpkgs.overlays = [
|
||||
(final: prev: {
|
||||
dracula-theme = prev.dracula-theme.overrideAttrs (oldAttrs: rec {
|
||||
|
||||
src = prev.fetchFromGitHub {
|
||||
owner = "dracula";
|
||||
repo = "gtk";
|
||||
|
@ -96,5 +96,6 @@ in {
|
|||
runHook postInstall
|
||||
'';
|
||||
});
|
||||
}) ];
|
||||
})
|
||||
];
|
||||
}
|
||||
|
|
|
@ -1,12 +1,11 @@
|
|||
{ python3Packages }:
|
||||
|
||||
{python3Packages}:
|
||||
python3Packages.buildPythonPackage rec {
|
||||
pname = "coloryou";
|
||||
version = "0.0.1";
|
||||
|
||||
src = ./.;
|
||||
|
||||
propagatedBuildInputs = with python3Packages; [ utils material-color-utilities ];
|
||||
propagatedBuildInputs = with python3Packages; [utils material-color-utilities];
|
||||
|
||||
postInstall = ''
|
||||
mv -v $out/bin/coloryou.py $out/bin/coloryou
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
with import <nixpkgs> {};
|
||||
with pkgs.python311Packages;
|
||||
|
||||
buildPythonPackage rec {
|
||||
buildPythonPackage rec {
|
||||
name = "coloryou";
|
||||
src = ./.;
|
||||
propagatedBuildInputs = [ material-color-utilities utils ];
|
||||
}
|
||||
propagatedBuildInputs = [material-color-utilities utils];
|
||||
}
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
{ stdenv
|
||||
, meson
|
||||
, ninja
|
||||
, pkg-config
|
||||
, cmake
|
||||
, bash-completion
|
||||
, fetchFromGitHub
|
||||
{
|
||||
stdenv,
|
||||
meson,
|
||||
ninja,
|
||||
pkg-config,
|
||||
cmake,
|
||||
bash-completion,
|
||||
fetchFromGitHub,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "input-emulator";
|
||||
version = "6c35040e6fc4f65ce0519ee76d00d60490bcb987";
|
||||
|
|
|
@ -1,17 +1,17 @@
|
|||
{ stdenv
|
||||
, meson
|
||||
, ninja
|
||||
, pkg-config
|
||||
, glib
|
||||
, libfprint
|
||||
, polkit
|
||||
, dbus
|
||||
, systemd
|
||||
, pam
|
||||
, libpam-wrapper
|
||||
, fetchFromGitLab
|
||||
{
|
||||
stdenv,
|
||||
meson,
|
||||
ninja,
|
||||
pkg-config,
|
||||
glib,
|
||||
libfprint,
|
||||
polkit,
|
||||
dbus,
|
||||
systemd,
|
||||
pam,
|
||||
libpam-wrapper,
|
||||
fetchFromGitLab,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "pam-fprint-grosshack";
|
||||
version = "v0.3.0";
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
# https://github.com/NixOS/nixpkgs/blob/77b27fdb6a9ba01f60b8f5c48038938cf14b7d2f/pkgs/applications/audio/spotifywm/default.nix
|
||||
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
|
@ -8,8 +7,7 @@
|
|||
makeBinaryWrapper,
|
||||
spotify,
|
||||
symlinkJoin,
|
||||
}:
|
||||
let
|
||||
}: let
|
||||
spotifywm = stdenv.mkDerivation {
|
||||
pname = "spotifywm";
|
||||
version = "unstable-2022-10-25";
|
||||
|
@ -34,7 +32,7 @@ let
|
|||
'';
|
||||
};
|
||||
in
|
||||
symlinkJoin {
|
||||
symlinkJoin {
|
||||
inherit (spotifywm) name;
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -58,7 +56,7 @@ symlinkJoin {
|
|||
description = "Wrapper around Spotify that correctly sets class name before opening the window";
|
||||
license = lib.licenses.mit;
|
||||
platforms = lib.platforms.linux;
|
||||
maintainers = with lib.maintainers; [ jqueiroz the-argus ];
|
||||
maintainers = with lib.maintainers; [jqueiroz the-argus];
|
||||
mainProgram = "spotify";
|
||||
};
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ pkgs, ... }: {
|
||||
{pkgs, ...}: {
|
||||
programs.regreet = {
|
||||
package = pkgs.greetd.regreet.overrideAttrs (self: super: rec {
|
||||
version = "0.1.1-patched";
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
final: prev: {
|
||||
squeekboard = prev.squeekboard.overrideAttrs (o: {
|
||||
patches = (o.patches or [ ]) ++ [
|
||||
patches =
|
||||
(o.patches or [])
|
||||
++ [
|
||||
./patches/remove-panel.patch
|
||||
];
|
||||
});
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ ... }: {
|
||||
{...}: {
|
||||
imports = [
|
||||
./hardware-configuration.nix
|
||||
|
||||
|
@ -32,7 +32,6 @@
|
|||
};
|
||||
home-manager.users = {
|
||||
matt = {
|
||||
|
||||
imports = [
|
||||
../../home/alacritty.nix
|
||||
../../home/dconf.nix
|
||||
|
|
|
@ -1,21 +1,27 @@
|
|||
{ config, lib, modulesPath, pkgs, ... }: {
|
||||
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
modulesPath,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
imports = [(modulesPath + "/installer/scan/not-detected.nix")];
|
||||
|
||||
boot = {
|
||||
kernelPackages = pkgs.linuxPackages_xanmod_latest;
|
||||
kernelModules = [ "kvm-amd" ];
|
||||
kernelModules = ["kvm-amd"];
|
||||
extraModulePackages = with config.boot.kernelPackages; [
|
||||
v4l2loopback
|
||||
];
|
||||
|
||||
supportedFilesystems = [ "ntfs" ];
|
||||
supportedFilesystems = ["ntfs"];
|
||||
|
||||
consoleLogLevel = 0;
|
||||
|
||||
initrd = {
|
||||
verbose = false;
|
||||
systemd.enable = true;
|
||||
availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ];
|
||||
availableKernelModules = ["nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod"];
|
||||
};
|
||||
|
||||
loader = {
|
||||
|
@ -35,10 +41,10 @@
|
|||
};
|
||||
|
||||
fileSystems = {
|
||||
"/" ={
|
||||
"/" = {
|
||||
device = "/dev/disk/by-uuid/560976b6-85e0-44ca-bb73-e15a78e9c449";
|
||||
fsType = "btrfs";
|
||||
options = [ "subvol=@" ];
|
||||
options = ["subvol=@"];
|
||||
};
|
||||
|
||||
"/boot" = {
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ ... }: {
|
||||
{...}: {
|
||||
# Disable compositor in X11 for best performance
|
||||
# TODO: add mic sound
|
||||
xdg.configFile."gpu-screen-recorder.env".text = ''
|
||||
|
@ -21,7 +21,7 @@
|
|||
icon = "com.github.iwalton3.jellyfin-media-player";
|
||||
terminal = false;
|
||||
type = "Application";
|
||||
categories = [ "AudioVideo" "Video" "Player" "TV" ];
|
||||
categories = ["AudioVideo" "Video" "Player" "TV"];
|
||||
settings = {
|
||||
Version = "1.0";
|
||||
StartupWMClass = "jellyfin-media-player";
|
||||
|
|
|
@ -1,4 +1,8 @@
|
|||
{ pkgs, lib, ... }: {
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
programs.dconf.enable = true;
|
||||
|
||||
services = {
|
||||
|
|
|
@ -1,12 +1,18 @@
|
|||
{ pkgs, lib, ... }: let
|
||||
gsr = (pkgs.gpu-screen-recorder.overrideAttrs (o: {
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
gsr = pkgs.gpu-screen-recorder.overrideAttrs (o: {
|
||||
src = pkgs.fetchgit {
|
||||
url = "https://repo.dec05eba.com/gpu-screen-recorder";
|
||||
rev = "1ac862d155e10f050e6f6cca5381f9f5a3528d98";
|
||||
hash = "sha256-wLiBn4VIi+IWY4qVkdFzkHhECTFH97snogVTEwM5yx8=";
|
||||
};
|
||||
|
||||
buildInputs = (o.buildInputs or [ ]) ++ (with pkgs; [
|
||||
buildInputs =
|
||||
(o.buildInputs or [])
|
||||
++ (with pkgs; [
|
||||
wayland
|
||||
wayland-protocols
|
||||
libdrm
|
||||
|
@ -30,7 +36,7 @@
|
|||
pkgs.libglvnd
|
||||
]}"
|
||||
'';
|
||||
}));
|
||||
});
|
||||
in {
|
||||
environment.systemPackages = with pkgs; [
|
||||
pulseaudio # for getting audio sink
|
||||
|
|
|
@ -1,4 +1,8 @@
|
|||
{ nix-gaming, pkgs, ... }: {
|
||||
{
|
||||
nix-gaming,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
nix-gaming.nixosModules.steamCompat
|
||||
];
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
{ config, ... }:
|
||||
{
|
||||
{config, ...}: {
|
||||
# Enable OpenGL
|
||||
hardware.opengl = {
|
||||
enable = true;
|
||||
|
@ -11,7 +10,6 @@
|
|||
services.xserver.videoDrivers = ["nvidia"];
|
||||
|
||||
hardware.nvidia = {
|
||||
|
||||
# Modesetting is required.
|
||||
modesetting.enable = true;
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ ... }: {
|
||||
{...}: {
|
||||
imports = [
|
||||
./hardware-configuration.nix
|
||||
|
||||
|
|
|
@ -1,10 +1,15 @@
|
|||
{ config, modulesPath, pkgs, ... }: {
|
||||
{
|
||||
config,
|
||||
modulesPath,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
nixpkgs.hostPlatform = "x86_64-linux";
|
||||
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
|
||||
imports = [(modulesPath + "/installer/scan/not-detected.nix")];
|
||||
|
||||
boot = {
|
||||
kernelPackages = pkgs.linuxPackages_latest;
|
||||
kernelModules = [ "kvm-amd" ];
|
||||
kernelModules = ["kvm-amd"];
|
||||
extraModulePackages = with config.boot.kernelPackages; [
|
||||
v4l2loopback
|
||||
];
|
||||
|
@ -19,7 +24,7 @@
|
|||
initrd = {
|
||||
verbose = false;
|
||||
systemd.enable = true;
|
||||
availableKernelModules = [ "nvme" "xhci_pci" "usb_storage" "sd_mod" ];
|
||||
availableKernelModules = ["nvme" "xhci_pci" "usb_storage" "sd_mod"];
|
||||
|
||||
luks.devices."root" = {
|
||||
device = "/dev/disk/by-uuid/ab82b477-2477-453f-b95f-28e5553ad10d";
|
||||
|
|
|
@ -1,8 +1,11 @@
|
|||
{ config, pkgs, ... }: let
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
configDir = config.services.device-vars.configDir;
|
||||
symlink = config.lib.file.mkOutOfStoreSymlink;
|
||||
in
|
||||
{
|
||||
in {
|
||||
xdg.configFile = {
|
||||
"gtklock/config.ini".source = pkgs.writeText "config.ini" ''
|
||||
[main]
|
||||
|
|
|
@ -1,4 +1,12 @@
|
|||
{ pkgs, config, hyprland, hyprgrass, ags, osConfig, ... }: let
|
||||
{
|
||||
pkgs,
|
||||
config,
|
||||
hyprland,
|
||||
hyprgrass,
|
||||
ags,
|
||||
osConfig,
|
||||
...
|
||||
}: let
|
||||
configDir = config.services.device-vars.configDir;
|
||||
symlink = config.lib.file.mkOutOfStoreSymlink;
|
||||
|
||||
|
@ -13,7 +21,7 @@ in {
|
|||
enable = true;
|
||||
configDir = symlink "${configDir}/ags";
|
||||
package = ags.packages.x86_64-linux.default;
|
||||
extraPackages = [ pkgs.libgudev ];
|
||||
extraPackages = [pkgs.libgudev];
|
||||
};
|
||||
|
||||
wayland.windowManager.hyprland = {
|
||||
|
@ -43,7 +51,7 @@ in {
|
|||
"swww init --no-cache && swww img -t none ${pkgs.dracula-theme}/wallpapers/waves.png"
|
||||
];
|
||||
|
||||
source = [ "~/.config/hypr/main.conf" ];
|
||||
source = ["~/.config/hypr/main.conf"];
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -68,7 +76,6 @@ in {
|
|||
networkmanagerapplet # TODO: replace with ags widget
|
||||
blueberry # TODO: replace with ags widget
|
||||
|
||||
|
||||
# Hyprland
|
||||
swww
|
||||
swayidle
|
||||
|
|
|
@ -1,8 +1,11 @@
|
|||
{ pkgs, nixpkgs-wayland, ... }: let
|
||||
{
|
||||
pkgs,
|
||||
nixpkgs-wayland,
|
||||
...
|
||||
}: let
|
||||
waypkgs = nixpkgs-wayland.packages.x86_64-linux;
|
||||
in {
|
||||
programs = {
|
||||
|
||||
obs-studio = {
|
||||
enable = true;
|
||||
plugins = with waypkgs; [
|
||||
|
@ -13,12 +16,12 @@ in {
|
|||
btop.enable = true;
|
||||
};
|
||||
|
||||
home.packages = (with pkgs.python311Packages; [
|
||||
home.packages =
|
||||
(with pkgs.python311Packages; [
|
||||
python
|
||||
pyclip
|
||||
]) ++
|
||||
|
||||
(with pkgs.plasma5Packages; [
|
||||
])
|
||||
++ (with pkgs.plasma5Packages; [
|
||||
polkit-kde-agent
|
||||
ark
|
||||
kcharselect
|
||||
|
@ -34,14 +37,12 @@ in {
|
|||
kio-admin # needs to be both here and in system pkgs
|
||||
kio-extras
|
||||
kmime
|
||||
]) ++
|
||||
|
||||
(with pkgs.gnome; [
|
||||
])
|
||||
++ (with pkgs.gnome; [
|
||||
gnome-calculator
|
||||
seahorse
|
||||
]) ++
|
||||
|
||||
(with pkgs; [
|
||||
])
|
||||
++ (with pkgs; [
|
||||
# School
|
||||
virt-manager
|
||||
bluej
|
||||
|
@ -92,7 +93,7 @@ in {
|
|||
icon = "gparted";
|
||||
terminal = false;
|
||||
type = "Application";
|
||||
categories = [ "GNOME" "System" "Filesystem" ];
|
||||
categories = ["GNOME" "System" "Filesystem"];
|
||||
startupNotify = true;
|
||||
settings = {
|
||||
Keywords = "Partition";
|
||||
|
|
|
@ -1,4 +1,8 @@
|
|||
{ hyprland, pkgs, ... }: {
|
||||
{
|
||||
hyprland,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
programs.dconf.enable = true;
|
||||
|
||||
services = {
|
||||
|
|
|
@ -1,11 +1,13 @@
|
|||
{ pkgs, lib, ... }:
|
||||
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
services.fprintd.enable = true;
|
||||
|
||||
# https://www.reddit.com/r/NixOS/comments/z7i83r/fingertip_tip_start_fprintd_at_boot_for_a_quick/
|
||||
systemd.services.fprintd = {
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
wantedBy = ["multi-user.target"];
|
||||
serviceConfig.Type = "simple";
|
||||
};
|
||||
|
||||
|
@ -16,7 +18,6 @@
|
|||
'';
|
||||
|
||||
security.pam.services = {
|
||||
|
||||
gtklock = {};
|
||||
|
||||
# all the changes in /etc/pam.d/*
|
||||
|
|
BIN
flake.nix
BIN
flake.nix
Binary file not shown.
|
@ -1,4 +1,4 @@
|
|||
{ config, ... }: {
|
||||
{config, ...}: {
|
||||
programs.alacritty = {
|
||||
enable = true;
|
||||
settings = {
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ ... }: {
|
||||
{...}: {
|
||||
dconf.settings = {
|
||||
"org/virt-manager/virt-manager/connections" = {
|
||||
autoconnect = ["qemu:///system"];
|
||||
|
@ -6,7 +6,7 @@
|
|||
};
|
||||
|
||||
"apps/seahorse/listing" = {
|
||||
keyrings-selected = [ "gnupg://" ];
|
||||
keyrings-selected = ["gnupg://"];
|
||||
};
|
||||
|
||||
"org/gtk/settings/file-chooser" = {
|
||||
|
|
|
@ -1,16 +1,25 @@
|
|||
{ fetchurl, lib, stdenv }@args:
|
||||
|
||||
let
|
||||
|
||||
buildFirefoxXpiAddon = lib.makeOverridable ({ stdenv ? args.stdenv
|
||||
, fetchurl ? args.fetchurl, pname, version, addonId, url, sha256, meta, ...
|
||||
{
|
||||
fetchurl,
|
||||
lib,
|
||||
stdenv,
|
||||
} @ args: let
|
||||
buildFirefoxXpiAddon = lib.makeOverridable ({
|
||||
stdenv ? args.stdenv,
|
||||
fetchurl ? args.fetchurl,
|
||||
pname,
|
||||
version,
|
||||
addonId,
|
||||
url,
|
||||
sha256,
|
||||
meta,
|
||||
...
|
||||
}:
|
||||
stdenv.mkDerivation {
|
||||
name = "${pname}-${version}";
|
||||
|
||||
inherit meta;
|
||||
|
||||
src = fetchurl { inherit url sha256; };
|
||||
src = fetchurl {inherit url sha256;};
|
||||
|
||||
preferLocalBuild = true;
|
||||
allowSubstitutes = true;
|
||||
|
@ -25,13 +34,15 @@ let
|
|||
packages = import ./generated-firefox-addons.nix {
|
||||
inherit buildFirefoxXpiAddon fetchurl lib stdenv;
|
||||
};
|
||||
|
||||
in packages // {
|
||||
in
|
||||
packages
|
||||
// {
|
||||
inherit buildFirefoxXpiAddon;
|
||||
|
||||
seventv = let
|
||||
version = "v3.0.10.1000";
|
||||
in buildFirefoxXpiAddon {
|
||||
in
|
||||
buildFirefoxXpiAddon {
|
||||
pname = "seventv";
|
||||
inherit version;
|
||||
addonId = "moz-addon@7tv.app";
|
||||
|
@ -44,4 +55,4 @@ in packages // {
|
|||
platforms = platforms.all;
|
||||
};
|
||||
};
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,17 +1,20 @@
|
|||
{ buildFirefoxXpiAddon, fetchurl, lib, stdenv }:
|
||||
{
|
||||
{
|
||||
buildFirefoxXpiAddon,
|
||||
fetchurl,
|
||||
lib,
|
||||
stdenv,
|
||||
}: {
|
||||
"600-sound-volume" = buildFirefoxXpiAddon {
|
||||
pname = "600-sound-volume";
|
||||
version = "1.5.3";
|
||||
addonId = "{c4b582ec-4343-438c-bda2-2f691c16c262}";
|
||||
url = "https://addons.mozilla.org/firefox/downloads/file/4133303/600_sound_volume-1.5.3.xpi";
|
||||
sha256 = "7045a812608338f95181459ae3e518bb51c8dc9a724a4083afb687d14075c304";
|
||||
meta = with lib;
|
||||
{
|
||||
meta = with lib; {
|
||||
homepage = "http://resourcefulman.net/";
|
||||
description = "Up to 600% volume boost";
|
||||
license = licenses.mpl20;
|
||||
mozPermissions = [ "<all_urls>" "tabs" "activeTab" "storage" ];
|
||||
mozPermissions = ["<all_urls>" "tabs" "activeTab" "storage"];
|
||||
platforms = platforms.all;
|
||||
};
|
||||
};
|
||||
|
@ -21,8 +24,7 @@
|
|||
addonId = "{bd97f89b-17ba-4539-9fec-06852d07f917}";
|
||||
url = "https://addons.mozilla.org/firefox/downloads/file/3594420/checkmarks_web_ext-1.6.1.xpi";
|
||||
sha256 = "c3ccf4b302ee96c9b883c4a1f7d26395ab4e276b976cab2d65c9cd898964e4f0";
|
||||
meta = with lib;
|
||||
{
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/tanwald/checkmarks";
|
||||
description = "Checks, sorts, formats bookmarks and loads favicons.";
|
||||
license = licenses.gpl3;
|
||||
|
@ -45,8 +47,7 @@
|
|||
addonId = "@contain-google";
|
||||
url = "https://addons.mozilla.org/firefox/downloads/file/3736912/google_container-1.5.4.xpi";
|
||||
sha256 = "47a7c0e85468332a0d949928d8b74376192cde4abaa14280002b3aca4ec814d0";
|
||||
meta = with lib;
|
||||
{
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/containers-everywhere/contain-google";
|
||||
description = "THIS IS NOT AN OFFICIAL ADDON FROM MOZILLA!\nIt is a fork of the Facebook Container addon.\n\nPrevent Google from tracking you around the web. The Google Container extension helps you take control and isolate your web activity from Google.";
|
||||
license = licenses.mpl20;
|
||||
|
@ -69,8 +70,7 @@
|
|||
addonId = "{bf197856-a3c2-4280-84c5-9b556379b706}";
|
||||
url = "https://addons.mozilla.org/firefox/downloads/file/3522842/opera_gx_witchcraft_purple-2.0.xpi";
|
||||
sha256 = "aa3c6377b8571c42a3988de042694be70ec6a250a9aea7ae1cc262acdc9374eb";
|
||||
meta = with lib;
|
||||
{
|
||||
meta = with lib; {
|
||||
description = "inspired by Opera GX";
|
||||
license = licenses.cc-by-sa-30;
|
||||
mozPermissions = [];
|
||||
|
@ -83,8 +83,7 @@
|
|||
addonId = "{76ef94a4-e3d0-4c6f-961a-d38a429a332b}";
|
||||
url = "https://addons.mozilla.org/firefox/downloads/file/4179399/ttv_lol_pro-2.2.1.xpi";
|
||||
sha256 = "83d012878021fb5fe25bee1101a7a760974ae9e2949b80fd99b73d3da48b1f99";
|
||||
meta = with lib;
|
||||
{
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/younesaassila/ttv-lol-pro";
|
||||
description = "TTV LOL PRO removes most livestream ads from Twitch.";
|
||||
license = licenses.gpl3;
|
||||
|
@ -102,4 +101,4 @@
|
|||
platforms = platforms.all;
|
||||
};
|
||||
};
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,10 +1,13 @@
|
|||
{ config, pkgs, ... }: let
|
||||
firefox-addons = pkgs.recurseIntoAttrs (pkgs.callPackage ./addons { });
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
firefox-addons = pkgs.recurseIntoAttrs (pkgs.callPackage ./addons {});
|
||||
sound-volume = firefox-addons."600-sound-volume";
|
||||
|
||||
firefox-gx = pkgs.callPackage ./firefox-gx { };
|
||||
in
|
||||
{
|
||||
firefox-gx = pkgs.callPackage ./firefox-gx {};
|
||||
in {
|
||||
home.file = {
|
||||
".mozilla/firefox/matt/chrome/components".source = "${firefox-gx}/chrome/components";
|
||||
".mozilla/firefox/matt/chrome/icons".source = "${firefox-gx}/chrome/icons";
|
||||
|
@ -76,69 +79,89 @@ in
|
|||
force = true;
|
||||
engines = {
|
||||
"Nix Packages" = {
|
||||
urls = [{
|
||||
urls = [
|
||||
{
|
||||
template = "https://search.nixos.org/packages";
|
||||
params = [
|
||||
{ name = "type"; value = "packages"; }
|
||||
{ name = "query"; value = "{searchTerms}"; }
|
||||
{
|
||||
name = "type";
|
||||
value = "packages";
|
||||
}
|
||||
{
|
||||
name = "query";
|
||||
value = "{searchTerms}";
|
||||
}
|
||||
];
|
||||
}
|
||||
];
|
||||
}];
|
||||
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake-white.svg";
|
||||
definedAliases = [ "@np" ];
|
||||
definedAliases = ["@np"];
|
||||
};
|
||||
|
||||
"NixOS Wiki" = {
|
||||
urls = [{ template =
|
||||
"https://nixos.wiki/index.php?search={searchTerms}";
|
||||
}];
|
||||
urls = [
|
||||
{
|
||||
template = "https://nixos.wiki/index.php?search={searchTerms}";
|
||||
}
|
||||
];
|
||||
iconUpdateURL = "https://nixos.wiki/favicon.png";
|
||||
updateInterval = 24 * 60 * 60 * 1000; # every day
|
||||
definedAliases = [ "@nw" ];
|
||||
definedAliases = ["@nw"];
|
||||
};
|
||||
|
||||
"MyNixos" = {
|
||||
urls = [{ template =
|
||||
"https://mynixos.com/search?q={searchTerms}";
|
||||
}];
|
||||
urls = [
|
||||
{
|
||||
template = "https://mynixos.com/search?q={searchTerms}";
|
||||
}
|
||||
];
|
||||
iconUpdateURL = "https://mynixos.com/favicon.ico";
|
||||
updateInterval = 24 * 60 * 60 * 1000; # every day
|
||||
definedAliases = [ "@mn" ];
|
||||
definedAliases = ["@mn"];
|
||||
};
|
||||
|
||||
"Noogle" = {
|
||||
urls = [{ template =
|
||||
"https://noogle.dev/?term={searchTerms}";
|
||||
}];
|
||||
urls = [
|
||||
{
|
||||
template = "https://noogle.dev/?term={searchTerms}";
|
||||
}
|
||||
];
|
||||
iconUpdateURL = "https://noogle.dev/favicon.ico";
|
||||
updateInterval = 24 * 60 * 60 * 1000; # every day
|
||||
definedAliases = [ "@ng" ];
|
||||
definedAliases = ["@ng"];
|
||||
};
|
||||
|
||||
"Firefox Add-ons" = {
|
||||
urls = [{ template =
|
||||
"https://addons.mozilla.org/en-US/firefox/search/?q={searchTerms}";
|
||||
}];
|
||||
urls = [
|
||||
{
|
||||
template = "https://addons.mozilla.org/en-US/firefox/search/?q={searchTerms}";
|
||||
}
|
||||
];
|
||||
iconUpdateURL = "https://addons.mozilla.org/favicon.ico";
|
||||
updateInterval = 24 * 60 * 60 * 1000; # every day
|
||||
definedAliases = [ "@fa" ];
|
||||
definedAliases = ["@fa"];
|
||||
};
|
||||
|
||||
"ProtonDB" = {
|
||||
urls = [{ template =
|
||||
"https://www.protondb.com/search?q={searchTerms}";
|
||||
}];
|
||||
urls = [
|
||||
{
|
||||
template = "https://www.protondb.com/search?q={searchTerms}";
|
||||
}
|
||||
];
|
||||
iconUpdateURL = "https://www.protondb.com/favicon.ico";
|
||||
updateInterval = 24 * 60 * 60 * 1000; # every day
|
||||
definedAliases = [ "@pdb" ];
|
||||
definedAliases = ["@pdb"];
|
||||
};
|
||||
|
||||
"YouTube" = {
|
||||
urls = [{ template =
|
||||
"https://www.youtube.com/results?search_query={searchTerms}";
|
||||
}];
|
||||
urls = [
|
||||
{
|
||||
template = "https://www.youtube.com/results?search_query={searchTerms}";
|
||||
}
|
||||
];
|
||||
iconUpdateURL = "https://www.youtube.com/favicon.ico";
|
||||
updateInterval = 24 * 60 * 60 * 1000; # every day
|
||||
definedAliases = [ "@yt" "@youtube" ];
|
||||
definedAliases = ["@yt" "@youtube"];
|
||||
};
|
||||
|
||||
"Bing".metaData.hidden = true;
|
||||
|
@ -165,9 +188,8 @@ in
|
|||
stylus
|
||||
#tridactyl
|
||||
ublock-origin
|
||||
]) ++
|
||||
|
||||
(with rycee.firefox-addons; [
|
||||
])
|
||||
++ (with rycee.firefox-addons; [
|
||||
bitwarden
|
||||
darkreader
|
||||
floccus
|
||||
|
@ -175,9 +197,8 @@ in
|
|||
image-search-options
|
||||
return-youtube-dislikes
|
||||
undoclosetabbutton
|
||||
]) ++
|
||||
|
||||
(with firefox-addons; [
|
||||
])
|
||||
++ (with firefox-addons; [
|
||||
sound-volume
|
||||
google-container
|
||||
checkmarks-web-ext
|
||||
|
|
|
@ -1,12 +1,16 @@
|
|||
{ lib, stdenvNoCC, fetchFromGitHub, writeText }:
|
||||
let
|
||||
{
|
||||
lib,
|
||||
stdenvNoCC,
|
||||
fetchFromGitHub,
|
||||
writeText,
|
||||
}: let
|
||||
pname = "firefox-gx";
|
||||
version = "8.5";
|
||||
|
||||
custom-menu = writeText "menu" "${builtins.readFile ./ogx_menu.css}";
|
||||
custom-sidebar = writeText "sidebar" "${builtins.readFile ./ogx_left-sidebar.css}";
|
||||
in
|
||||
stdenvNoCC.mkDerivation {
|
||||
stdenvNoCC.mkDerivation {
|
||||
inherit pname version;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
|
@ -37,4 +41,4 @@ stdenvNoCC.mkDerivation {
|
|||
homepage = "https://github.com/Godiesc/firefox-gx";
|
||||
license = licenses.mspl;
|
||||
};
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,4 +1,9 @@
|
|||
{ pkgs, lib, config, ... }: let
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: let
|
||||
fontSize = config.services.device-vars.fontSize;
|
||||
dracula-xresources = pkgs.fetchFromGitHub {
|
||||
owner = "dracula";
|
||||
|
@ -6,8 +11,7 @@
|
|||
rev = "539ef24e9b0c5498a82d59bfa2bad9b618d832a3";
|
||||
sha256 = "sha256-6fltsAluqOqYIh2NX0I/LC3WCWkb9Fn8PH6LNLBQbrY=";
|
||||
};
|
||||
in
|
||||
{
|
||||
in {
|
||||
home.pointerCursor = {
|
||||
name = "Dracula-cursors";
|
||||
package = pkgs.dracula-theme;
|
||||
|
@ -48,7 +52,7 @@ in
|
|||
platformTheme = "qtct";
|
||||
};
|
||||
|
||||
xresources.extraConfig = builtins.readFile("${dracula-xresources}/Xresources");
|
||||
xresources.extraConfig = builtins.readFile "${dracula-xresources}/Xresources";
|
||||
|
||||
xdg.configFile = let
|
||||
qtconf = ''
|
||||
|
@ -58,10 +62,8 @@ in
|
|||
|
||||
[Appearance]
|
||||
icon_theme=Flat-Remix-Violet-Dark
|
||||
style=''
|
||||
;
|
||||
in
|
||||
{
|
||||
style='';
|
||||
in {
|
||||
"Kvantum/Dracula/Dracula.kvconfig".source = "${pkgs.dracula-theme}/share/Kvantum/Dracula-purple-solid/Dracula-purple-solid.kvconfig";
|
||||
"Kvantum/Dracula/Dracula.svg".source = "${pkgs.dracula-theme}/share/Kvantum/Dracula-purple-solid/Dracula-purple-solid.svg";
|
||||
"Kvantum/kvantum.kvconfig".text = "[General]\ntheme=Dracula";
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ ... }: {
|
||||
{...}: {
|
||||
programs = {
|
||||
wofi = {
|
||||
enable = true;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ nix-gaming, ... }: {
|
||||
{nix-gaming, ...}: {
|
||||
imports = [
|
||||
nix-gaming.nixosModules.pipewireLowLatency
|
||||
];
|
||||
|
|
|
@ -1,8 +1,9 @@
|
|||
{ lib
|
||||
, pkgs
|
||||
, config
|
||||
, hyprland
|
||||
, ...
|
||||
{
|
||||
lib,
|
||||
pkgs,
|
||||
config,
|
||||
hyprland,
|
||||
...
|
||||
}: let
|
||||
regreetBin = "${lib.getExe config.programs.regreet.package}";
|
||||
hyprBin = "${hyprland.packages.x86_64-linux.default}/bin";
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ ... }: {
|
||||
{...}: {
|
||||
services.kmscon = {
|
||||
enable = true;
|
||||
hwRender = false;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ pkgs, ... }: {
|
||||
{pkgs, ...}: {
|
||||
boot = {
|
||||
initrd = {
|
||||
verbose = false;
|
||||
|
@ -18,7 +18,7 @@
|
|||
|
||||
plymouth = {
|
||||
enable = true;
|
||||
themePackages = [ pkgs.dracula-theme ];
|
||||
themePackages = [pkgs.dracula-theme];
|
||||
theme = "dracula";
|
||||
};
|
||||
};
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
{ pkgs, ... }: {
|
||||
|
||||
{pkgs, ...}: {
|
||||
services = {
|
||||
# Enable CUPS to print documents.
|
||||
printing = {
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
{ pkgs, ... }: {
|
||||
{pkgs, ...}: {
|
||||
systemd.user.services.protonmail-bridge = {
|
||||
description = "Protonmail Bridge";
|
||||
enable = true;
|
||||
script = "${pkgs.protonmail-bridge}/bin/protonmail-bridge --noninteractive --log-level info";
|
||||
path = [ pkgs.gnome.gnome-keyring ]; # HACK: https://github.com/ProtonMail/proton-bridge/issues/176
|
||||
wantedBy = [ "graphical-session.target" ];
|
||||
partOf = [ "graphical-session.target" ];
|
||||
path = [pkgs.gnome.gnome-keyring]; # HACK: https://github.com/ProtonMail/proton-bridge/issues/176
|
||||
wantedBy = ["graphical-session.target"];
|
||||
partOf = ["graphical-session.target"];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ pkgs, ... }: {
|
||||
{pkgs, ...}: {
|
||||
environment.systemPackages = with pkgs; [
|
||||
dracula-theme
|
||||
];
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ ... }: {
|
||||
{...}: {
|
||||
services = {
|
||||
tailscale = {
|
||||
enable = true;
|
||||
|
|
Loading…
Reference in a new issue