2023-08-14 16:23:18 +03:00
|
|
|
inputs:
|
|
|
|
{ pkgs, lib, config, ... }:
|
2023-03-27 18:21:54 +03:00
|
|
|
let
|
2023-09-08 12:16:15 +03:00
|
|
|
# nix-software-center = inputs.nix-software-center.packages.${pkgs.system}.nix-software-center;
|
2023-07-12 19:35:24 +03:00
|
|
|
/*
|
2023-03-28 23:24:44 +03:00
|
|
|
doom-emacs = inputs.nix-doom-emacs.packages.${pkgs.system}.default.override {
|
|
|
|
doomPrivateDir = ./doom.d;
|
|
|
|
};
|
2023-07-12 19:35:24 +03:00
|
|
|
*/
|
2023-07-09 10:41:18 +03:00
|
|
|
# eww-git = inputs.eww.packages.${pkgs.system}.default;
|
2024-03-07 16:57:57 +02:00
|
|
|
emacs-package = (pkgs.emacsWithPackagesFromUsePackage rec{
|
|
|
|
package = pkgs.emacs-gtk;
|
|
|
|
/*
|
|
|
|
config = ''
|
|
|
|
(setq standard-indent 2)
|
|
|
|
(load (expand-file-name "~/.quicklisp/slime-helper.el"))
|
|
|
|
(setq inferior-lisp-program "sbcl")
|
|
|
|
(set-face-attribute 'default nil :height 120)
|
|
|
|
(use-package parinfer-rust-mode :hook emacs-lisp-mode)
|
|
|
|
'';
|
|
|
|
*/
|
|
|
|
config = builtins.readFile ./configs/emacs/init.el;
|
|
|
|
# defaultInitFile = ./configs/emacs/init.el;
|
|
|
|
defaultInitFile = pkgs.writeText "default.el" config;
|
|
|
|
/* ''
|
|
|
|
(setq standard-indent 2)
|
|
|
|
(load (expand-file-name "~/.quicklisp/slime-helper.el"))
|
|
|
|
(setq inferior-lisp-program "sbcl")
|
|
|
|
(set-face-attribute 'default nil :height 120)
|
|
|
|
'';*/
|
2024-03-07 20:17:35 +02:00
|
|
|
extraEmacsPackages = epkgs: with epkgs; [
|
2024-03-07 16:57:57 +02:00
|
|
|
epkgs.use-package
|
|
|
|
epkgs.nix-mode
|
|
|
|
epkgs.slime
|
|
|
|
epkgs.parinfer-rust-mode
|
|
|
|
epkgs.sly
|
2024-03-07 20:17:35 +02:00
|
|
|
# epkgs.spacemacs-theme
|
2024-03-07 16:57:57 +02:00
|
|
|
epkgs.paredit
|
|
|
|
epkgs.evil
|
|
|
|
epkgs.magit
|
|
|
|
epkgs.org
|
|
|
|
epkgs.mastodon
|
|
|
|
epkgs.eshell-z
|
|
|
|
epkgs.bshell
|
|
|
|
epkgs.eat
|
|
|
|
epkgs.gruvbox-theme
|
|
|
|
epkgs.uwu-theme
|
2024-03-07 20:17:35 +02:00
|
|
|
epkgs.irony
|
|
|
|
hotfuzz
|
|
|
|
vertico
|
|
|
|
marginalia
|
|
|
|
consult
|
|
|
|
corfu
|
|
|
|
bind-key
|
2024-03-08 12:36:38 +02:00
|
|
|
highlight-indent-guides
|
2024-03-07 16:57:57 +02:00
|
|
|
];
|
|
|
|
});
|
2023-05-06 21:04:27 +03:00
|
|
|
helix = inputs.helix.packages.${pkgs.system}.default;
|
2023-05-13 16:40:29 +03:00
|
|
|
# nixpkgs-master-pkgs = inputs.nixpkgs-master.legacyPackages.${pkgs.system};
|
|
|
|
# nixpkgs-master = inputs.nixpkgs-master;
|
|
|
|
nixpkgs-master = import inputs.nixpkgs-master {
|
|
|
|
inherit (config.nixpkgs) config overlays;
|
|
|
|
inherit (pkgs) system;
|
|
|
|
};
|
2023-06-05 15:02:59 +03:00
|
|
|
hypr-contrib = inputs.hypr-contrib.packages.${pkgs.system};
|
2023-06-21 14:14:11 +03:00
|
|
|
nh = inputs.nix-but-gigachad.packages.${pkgs.system}.default;
|
2023-03-27 18:21:54 +03:00
|
|
|
in {
|
2023-06-05 15:02:59 +03:00
|
|
|
imports = [
|
2023-06-24 00:16:37 +03:00
|
|
|
inputs.hyprland.homeManagerModules.default
|
2023-09-24 21:52:05 +03:00
|
|
|
inputs.nix-index-database.hmModules.nix-index
|
2023-06-05 15:02:59 +03:00
|
|
|
];
|
2023-03-29 12:12:30 +03:00
|
|
|
# Allow unfree packages
|
2024-03-07 16:57:57 +02:00
|
|
|
nixpkgs = {
|
|
|
|
overlays = [
|
|
|
|
(import inputs.emacs-overlay)
|
2023-11-07 10:21:12 +02:00
|
|
|
];
|
2024-03-07 16:57:57 +02:00
|
|
|
config = {
|
|
|
|
allowUnfree = true;
|
|
|
|
allowUnfreePredicate = (pkg: true);
|
|
|
|
permittedInsecurePackages = [
|
|
|
|
"electron-21.4.0"
|
|
|
|
"electron-24.8.6"
|
|
|
|
"electron-25.9.0"
|
|
|
|
];
|
|
|
|
packageOverrides = pkgs: {
|
|
|
|
nur = import (builtins.fetchTarball "https://github.com/nix-community/NUR/archive/master.tar.gz") {
|
|
|
|
inherit pkgs;
|
|
|
|
};
|
2023-11-07 10:21:12 +02:00
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
2023-05-13 16:40:29 +03:00
|
|
|
/*
|
2023-05-13 12:09:24 +03:00
|
|
|
nixpkgs-master.config = {
|
|
|
|
allowUnfree = true;
|
|
|
|
allowUnfreePredicate = (pkg: true);
|
|
|
|
permittedInsecurePackages = [
|
|
|
|
"electron-21.4.0"
|
|
|
|
];
|
|
|
|
};
|
2023-05-13 16:40:29 +03:00
|
|
|
*/
|
2023-03-27 17:41:56 +03:00
|
|
|
home = {
|
|
|
|
username = "ultra";
|
|
|
|
homeDirectory = "/home/ultra/";
|
|
|
|
stateVersion = "22.11";
|
|
|
|
packages = with pkgs; [
|
2023-03-27 18:21:54 +03:00
|
|
|
firefox
|
2023-09-06 11:59:18 +03:00
|
|
|
tor-browser-bundle-bin
|
2023-03-27 18:21:54 +03:00
|
|
|
kate
|
|
|
|
distrobox
|
|
|
|
fish
|
|
|
|
nushell
|
|
|
|
git
|
|
|
|
bat
|
|
|
|
gnupg1
|
|
|
|
zoom-us
|
|
|
|
google-chrome
|
|
|
|
zoxide
|
|
|
|
starship
|
|
|
|
atuin
|
|
|
|
clang
|
2023-03-27 20:42:25 +03:00
|
|
|
(lib.hiPrio gcc)
|
2023-09-25 13:24:35 +03:00
|
|
|
eza
|
2023-03-27 18:21:54 +03:00
|
|
|
gnumake
|
|
|
|
plasma-browser-integration
|
|
|
|
libsForQt5.bismuth
|
|
|
|
whatsapp-for-linux
|
|
|
|
signal-desktop
|
|
|
|
nodejs
|
|
|
|
onlyoffice-bin
|
|
|
|
drawio
|
|
|
|
xclip
|
|
|
|
steam
|
|
|
|
packagekit
|
2023-10-06 16:43:08 +03:00
|
|
|
# armcord # it has a CVE
|
2023-03-27 18:21:54 +03:00
|
|
|
rnote
|
|
|
|
obsidian
|
|
|
|
gnome-obfuscate
|
|
|
|
microsoft-edge
|
2023-03-28 23:24:44 +03:00
|
|
|
# doom-emacs
|
2023-03-27 18:21:54 +03:00
|
|
|
ripgrep
|
2023-03-27 22:01:57 +03:00
|
|
|
w3m
|
2023-03-28 01:07:34 +03:00
|
|
|
github-cli
|
2023-03-28 14:03:03 +03:00
|
|
|
mc
|
2023-03-28 19:45:10 +03:00
|
|
|
zellij
|
|
|
|
lsd
|
2023-03-28 23:24:44 +03:00
|
|
|
tealdeer
|
2023-03-30 09:34:50 +03:00
|
|
|
fd
|
|
|
|
broot
|
|
|
|
fzf
|
|
|
|
bottom
|
|
|
|
hyperfine
|
|
|
|
procs
|
|
|
|
httpie
|
|
|
|
curlie
|
|
|
|
xh
|
2023-03-30 10:04:31 +03:00
|
|
|
du-dust
|
|
|
|
duf
|
2023-04-06 12:24:49 +03:00
|
|
|
virtualbox
|
2023-04-07 21:57:48 +03:00
|
|
|
spotify
|
2023-04-09 17:04:43 +03:00
|
|
|
appimage-run
|
2023-06-28 09:28:17 +03:00
|
|
|
xivlauncher # No longer fails to build!
|
|
|
|
# nixpkgs-master.xivlauncher # It's fixed on unstable, as well as master, but the unstable input doesn't get updated every 5 picoseconds
|
2023-04-24 23:47:09 +03:00
|
|
|
prismlauncher
|
|
|
|
ghostwriter
|
2023-04-29 17:57:18 +03:00
|
|
|
skypeforlinux
|
|
|
|
man-pages
|
2023-04-30 15:04:06 +03:00
|
|
|
ckan
|
2023-05-04 20:39:56 +03:00
|
|
|
cool-retro-term
|
2023-06-05 15:02:59 +03:00
|
|
|
wofi
|
|
|
|
hyprpaper
|
|
|
|
alacritty
|
|
|
|
tofi
|
|
|
|
dunst
|
|
|
|
wl-clipboard
|
|
|
|
polkit-kde-agent
|
|
|
|
grim
|
|
|
|
hypr-contrib.grimblast
|
|
|
|
hypr-contrib.scratchpad
|
|
|
|
kitty
|
|
|
|
waybar
|
2023-07-09 10:41:18 +03:00
|
|
|
/*
|
2023-06-24 00:16:37 +03:00
|
|
|
(eww-git.override {
|
|
|
|
withWayland = true;
|
|
|
|
})
|
2023-07-09 10:41:18 +03:00
|
|
|
*/
|
2024-03-07 16:57:57 +02:00
|
|
|
eww
|
|
|
|
# (eww.override { withWayland = true; })
|
2023-06-05 15:02:59 +03:00
|
|
|
notify-desktop
|
|
|
|
libnotify
|
|
|
|
xdg-desktop-portal-hyprland
|
2023-06-05 18:37:12 +03:00
|
|
|
jq
|
2023-06-10 18:43:51 +03:00
|
|
|
libsForQt5.alligator
|
2023-06-11 22:00:53 +03:00
|
|
|
thunderbird
|
2023-06-21 14:14:11 +03:00
|
|
|
nh
|
2023-06-23 01:24:33 +03:00
|
|
|
irssi
|
2023-06-24 00:16:37 +03:00
|
|
|
syncthing
|
2023-06-28 09:08:39 +03:00
|
|
|
# android-studio # literally proprietary bloat, I don't want that garbage on my system.
|
|
|
|
flutter
|
|
|
|
comic-mono
|
|
|
|
screen
|
2023-07-13 23:33:19 +03:00
|
|
|
amfora
|
2023-08-14 16:23:18 +03:00
|
|
|
weechat
|
|
|
|
filezilla
|
|
|
|
fluffychat
|
2023-09-15 15:40:07 +03:00
|
|
|
bitwarden
|
2023-09-06 11:59:18 +03:00
|
|
|
akregator
|
|
|
|
bitwarden
|
2023-12-17 15:44:42 +02:00
|
|
|
# schildichat-desktop # apparently it uses a really old version of electron
|
2023-12-17 16:38:45 +02:00
|
|
|
element-desktop
|
2023-09-06 12:00:53 +03:00
|
|
|
xonsh
|
2023-09-07 11:38:04 +03:00
|
|
|
kiwix
|
2023-09-08 12:10:45 +03:00
|
|
|
htmlq
|
2023-09-08 12:10:56 +03:00
|
|
|
lite
|
2023-09-24 22:06:14 +03:00
|
|
|
heroic
|
2023-09-19 17:50:20 +03:00
|
|
|
steam-run
|
2023-09-09 23:27:29 +03:00
|
|
|
(lutris.override {
|
|
|
|
extraPkgs = pkgs: [
|
|
|
|
pkgs.wine64Packages.stagingFull
|
|
|
|
];
|
|
|
|
})
|
2023-09-25 13:24:35 +03:00
|
|
|
waypipe
|
2023-09-28 16:37:58 +03:00
|
|
|
electron-mail
|
|
|
|
hydroxide
|
2023-09-30 09:38:36 +03:00
|
|
|
jujutsu
|
2023-10-01 10:37:14 +03:00
|
|
|
gparted
|
2023-10-06 16:43:08 +03:00
|
|
|
xournalpp
|
2023-10-07 09:43:10 +03:00
|
|
|
(lib.hiPrio netcat-gnu)
|
2023-10-10 20:49:12 +03:00
|
|
|
nmap
|
|
|
|
browsh
|
2023-10-14 14:21:18 +03:00
|
|
|
beeper # huge thanks to the true chad that packaged this
|
2023-11-07 10:21:12 +02:00
|
|
|
halloy
|
2023-10-14 14:33:16 +03:00
|
|
|
mtpaint
|
|
|
|
fluent-reader
|
2023-10-19 21:40:46 +03:00
|
|
|
discord
|
2023-10-27 14:55:37 +03:00
|
|
|
f1viewer
|
|
|
|
vlc
|
2023-10-27 23:49:26 +03:00
|
|
|
wineWowPackages.wayland
|
2023-11-07 10:21:12 +02:00
|
|
|
blender
|
2023-11-24 22:22:03 +02:00
|
|
|
vesktop
|
2023-12-10 00:23:59 +02:00
|
|
|
ktailctl
|
2023-12-16 20:45:34 +02:00
|
|
|
caddy
|
2024-01-20 23:07:14 +02:00
|
|
|
floorp
|
2024-02-28 23:20:48 +02:00
|
|
|
mpris-scrobbler
|
2024-03-07 16:57:57 +02:00
|
|
|
sbcl
|
2024-03-07 20:17:35 +02:00
|
|
|
clang-tools
|
2024-03-07 16:57:57 +02:00
|
|
|
#emacs-package
|
2023-03-27 17:41:56 +03:00
|
|
|
];
|
2024-03-07 16:57:57 +02:00
|
|
|
file = {
|
|
|
|
"emacs.d/everblush-theme.el".source = ./configs/emacs/everblush-theme.el;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
xdg = {
|
|
|
|
configFile = {
|
|
|
|
"emacs/init.el".source = ./configs/emacs/init.el;
|
|
|
|
"emacs/everblush-theme.el".source = ./configs/emacs/everblush-theme.el;
|
|
|
|
"hypr/hyprland.conf".source = ./configs/hyprland/hyprland.conf;
|
|
|
|
"presets/user/everblush.json".source = ./configs/presets/everblush.json;
|
|
|
|
};
|
2023-03-27 17:41:56 +03:00
|
|
|
};
|
2023-03-27 18:21:54 +03:00
|
|
|
programs = {
|
2024-03-07 16:57:57 +02:00
|
|
|
emacs = {
|
|
|
|
enable = true;
|
|
|
|
package = emacs-package;
|
|
|
|
/*
|
|
|
|
extraConfig = ''
|
|
|
|
(setq standard-indent 2)
|
|
|
|
(load (expand-file-name "~/.quicklisp/slime-helper.el"))
|
|
|
|
(setq inferior-lisp-program "sbcl")
|
|
|
|
(set-face-attribute 'default nil :height 120)
|
|
|
|
(use-package parinfer-rust-mode :hook emacs-lisp-mode)
|
|
|
|
'';
|
|
|
|
*/
|
|
|
|
extraConfig = builtins.readFile ./configs/emacs/init.el;
|
|
|
|
};
|
2023-03-27 18:21:54 +03:00
|
|
|
home-manager.enable = true;
|
|
|
|
# fish.enable = true;
|
2023-05-14 16:13:27 +03:00
|
|
|
|
|
|
|
# Helix config
|
2023-05-14 15:18:27 +03:00
|
|
|
helix = {
|
|
|
|
enable = true;
|
|
|
|
package = helix;
|
2023-05-20 19:40:15 +03:00
|
|
|
languages = {
|
|
|
|
language-server = with pkgs; {
|
|
|
|
cpp.command = "${clang-tools}/bin/clangd";
|
|
|
|
c.command = "${clang-tools}/bin/clangd";
|
2023-09-19 17:39:50 +03:00
|
|
|
nix.command = "${nixd}/bin/nixd";
|
2023-05-20 19:40:15 +03:00
|
|
|
};
|
|
|
|
language = [
|
|
|
|
{
|
|
|
|
name = "cpp";
|
|
|
|
scope = "source.cpp";
|
|
|
|
indent = {
|
|
|
|
tab-width = 4;
|
|
|
|
unit = " ";
|
|
|
|
};
|
|
|
|
# language-server.command = "clangd";
|
|
|
|
file-types = [ "cpp" ];
|
|
|
|
}
|
|
|
|
{
|
|
|
|
name = "c";
|
|
|
|
scope = "source.c";
|
|
|
|
indent = {
|
|
|
|
tab-width = 4;
|
|
|
|
unit = " ";
|
|
|
|
};
|
|
|
|
# language-server.command = "clangd";
|
|
|
|
file-types = [ "c" ];
|
|
|
|
}
|
|
|
|
{
|
|
|
|
name = "nix";
|
|
|
|
scope = "source.nix";
|
|
|
|
indent = {
|
|
|
|
tab-width = 4;
|
|
|
|
unit = " ";
|
|
|
|
};
|
|
|
|
# language-server.command = "nil";
|
|
|
|
file-types = [ "nix" ];
|
|
|
|
}
|
|
|
|
];
|
|
|
|
};
|
2023-05-14 15:18:27 +03:00
|
|
|
settings = {
|
|
|
|
theme = "everblush";
|
|
|
|
editor = {
|
|
|
|
line-number = "relative";
|
|
|
|
mouse = true;
|
|
|
|
cursor-shape = {
|
|
|
|
insert = "bar";
|
|
|
|
normal = "block";
|
|
|
|
select = "underline";
|
|
|
|
};
|
|
|
|
file-picker.hidden = false;
|
2023-05-14 16:13:27 +03:00
|
|
|
auto-save = true;
|
|
|
|
true-color = true;
|
2023-05-14 15:18:27 +03:00
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
2023-09-08 11:44:17 +03:00
|
|
|
vscode = {
|
|
|
|
enable = true;
|
2023-09-08 13:37:21 +03:00
|
|
|
package = pkgs.vscodium;
|
|
|
|
mutableExtensionsDir = false;
|
2023-09-08 11:44:17 +03:00
|
|
|
extensions = with pkgs.vscode-extensions; [
|
|
|
|
enkia.tokyo-night # Tokyo Night theme
|
|
|
|
arcticicestudio.nord-visual-studio-code # Nord theme
|
2023-09-08 12:08:59 +03:00
|
|
|
jnoortheen.nix-ide # Nix stuff
|
2023-09-08 12:18:47 +03:00
|
|
|
# eamodio.gitlens # Giga git, but with some paid stuff
|
|
|
|
kahole.magit # Giga git
|
2023-09-19 17:39:50 +03:00
|
|
|
bmalehorn.vscode-fish # Fish in vscode
|
2023-09-09 23:27:29 +03:00
|
|
|
] ++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [
|
|
|
|
{
|
|
|
|
name = "hungry-delete";
|
|
|
|
publisher = "jasonlhy";
|
|
|
|
version = "1.7.0";
|
|
|
|
sha256 = "sha256-TDs6i0/o0j9XFLQvWze4iloa6yRXce/xIqd2CnA5nug=";
|
|
|
|
}
|
2023-09-08 11:44:17 +03:00
|
|
|
];
|
2023-09-08 12:27:29 +03:00
|
|
|
userSettings = {
|
|
|
|
nix = {
|
2023-09-19 17:39:50 +03:00
|
|
|
serverPath = "nixd";
|
2023-09-08 12:27:29 +03:00
|
|
|
enableLanguageServer = true;
|
|
|
|
};
|
|
|
|
editor = {
|
|
|
|
fontLigatures = true;
|
|
|
|
fontFamily = "JetBrainsMono Nerd Font";
|
2023-09-08 13:48:03 +03:00
|
|
|
cursorBlinking = "smooth";
|
|
|
|
cursorSmoothCaretAnimation = "on";
|
|
|
|
tabSize = 2;
|
|
|
|
accessibilitySupport = "off";
|
2023-09-08 12:27:29 +03:00
|
|
|
};
|
2023-09-08 13:37:21 +03:00
|
|
|
workbench = {
|
|
|
|
colorTheme = "Tokyo Night";
|
|
|
|
};
|
2023-09-08 13:48:03 +03:00
|
|
|
files = {
|
|
|
|
autoSave = "on";
|
|
|
|
};
|
2023-09-08 12:27:29 +03:00
|
|
|
};
|
2023-09-08 11:44:17 +03:00
|
|
|
};
|
2023-09-24 21:52:05 +03:00
|
|
|
nix-index-database = {
|
|
|
|
comma = {
|
|
|
|
enable = true;
|
|
|
|
};
|
|
|
|
};
|
2023-03-27 18:21:54 +03:00
|
|
|
};
|
2023-06-23 12:16:53 +03:00
|
|
|
services = {
|
|
|
|
dunst.enable = false;
|
2024-03-07 16:57:57 +02:00
|
|
|
emacs = {
|
|
|
|
enable = true;
|
|
|
|
package = emacs-package;
|
|
|
|
client = {
|
|
|
|
enable = true;
|
|
|
|
arguments = [ "-c" ];
|
|
|
|
};
|
|
|
|
};
|
2023-06-23 12:16:53 +03:00
|
|
|
};
|
2023-06-24 00:16:37 +03:00
|
|
|
systemd.user = {
|
|
|
|
services = {
|
|
|
|
dunst.Unit = {
|
|
|
|
After = lib.mkForce [];
|
|
|
|
WantedBy = [ "hyprland-session.target" ];
|
|
|
|
PartOf = lib.mkForce [ "hyprland-session.target" ];
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
wayland.windowManager.hyprland = {
|
|
|
|
enable = true;
|
|
|
|
package = pkgs.hyprland;
|
|
|
|
extraConfig = builtins.readFile ./configs/hyprland/hyprland.conf;
|
|
|
|
systemdIntegration = true;
|
|
|
|
};
|
2023-06-05 15:02:59 +03:00
|
|
|
}
|