mirror of
https://github.com/librephoenix/nixos-config
synced 2025-09-09 06:24:00 +05:30
Compare commits
No commits in common. "0d180685e3ba31cab5d095fe32b27a827cbf7ce1" and "72b451aec5f1e1884bcc14a64c35feaa9f0b071d" have entirely different histories.
0d180685e3
...
72b451aec5
17 changed files with 67 additions and 121 deletions
16
flake.lock
generated
16
flake.lock
generated
|
@ -640,21 +640,6 @@
|
|||
"type": "indirect"
|
||||
}
|
||||
},
|
||||
"nixpkgs-staging-next": {
|
||||
"locked": {
|
||||
"lastModified": 1711995917,
|
||||
"narHash": "sha256-KffQxoGwUTz4gaKp1woRXgunuJ+pjRd7KYjjJZuAb7c=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "4cad0502dbb4e9ca487b7b59d8f936d5ad64b7f8",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"id": "nixpkgs",
|
||||
"ref": "staging-next",
|
||||
"type": "indirect"
|
||||
}
|
||||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1706487304,
|
||||
|
@ -892,7 +877,6 @@
|
|||
"nix-straight": "nix-straight",
|
||||
"nixpkgs": "nixpkgs",
|
||||
"nixpkgs-stable": "nixpkgs-stable",
|
||||
"nixpkgs-staging-next": "nixpkgs-staging-next",
|
||||
"org-nursery": "org-nursery",
|
||||
"org-side-tree": "org-side-tree",
|
||||
"org-timeblock": "org-timeblock",
|
||||
|
|
15
flake.nix
15
flake.nix
|
@ -1,10 +1,10 @@
|
|||
{
|
||||
description = "Flake of LibrePhoenix";
|
||||
|
||||
outputs = inputs@{ self, nixpkgs, nixpkgs-staging-next, nixpkgs-stable, emacs-pin-nixpkgs,
|
||||
kdenlive-pin-nixpkgs, home-manager, nix-doom-emacs, nix-straight, stylix,
|
||||
blocklist-hosts, hyprland-plugins, rust-overlay, org-nursery, org-yaap,
|
||||
org-side-tree, org-timeblock, phscroll, ... }:
|
||||
outputs = inputs@{ self, nixpkgs, nixpkgs-stable, emacs-pin-nixpkgs, kdenlive-pin-nixpkgs,
|
||||
home-manager, nix-doom-emacs, nix-straight, stylix, blocklist-hosts,
|
||||
hyprland-plugins, rust-overlay, org-nursery, org-yaap, org-side-tree,
|
||||
org-timeblock, phscroll, ... }:
|
||||
let
|
||||
# ---- SYSTEM SETTINGS ---- #
|
||||
systemSettings = {
|
||||
|
@ -67,10 +67,6 @@
|
|||
overlays = [ rust-overlay.overlays.default ];
|
||||
};
|
||||
|
||||
pkgs-staging-next = import nixpkgs-staging-next {
|
||||
system = systemSettings.system;
|
||||
};
|
||||
|
||||
pkgs-stable = import nixpkgs-stable {
|
||||
system = systemSettings.system;
|
||||
config = {
|
||||
|
@ -112,7 +108,6 @@
|
|||
extraSpecialArgs = {
|
||||
# pass config variables from above
|
||||
inherit pkgs-stable;
|
||||
inherit pkgs-staging-next;
|
||||
inherit pkgs-emacs;
|
||||
inherit pkgs-kdenlive;
|
||||
inherit systemSettings;
|
||||
|
@ -139,7 +134,6 @@
|
|||
specialArgs = {
|
||||
# pass config variables from above
|
||||
inherit pkgs-stable;
|
||||
inherit pkgs-staging-next;
|
||||
inherit systemSettings;
|
||||
inherit userSettings;
|
||||
inherit (inputs) stylix;
|
||||
|
@ -173,7 +167,6 @@
|
|||
inputs = {
|
||||
nixpkgs.url = "nixpkgs/nixos-unstable";
|
||||
nixpkgs-stable.url = "nixpkgs/nixos-23.11";
|
||||
nixpkgs-staging-next.url = "nixpkgs/staging-next";
|
||||
emacs-pin-nixpkgs.url = "nixpkgs/f8e2ebd66d097614d51a56a755450d4ae1632df1";
|
||||
kdenlive-pin-nixpkgs.url = "nixpkgs/cfec6d9203a461d9d698d8a60ef003cac6d0da94";
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ lib, pkgs, pkgs-staging-next, systemSettings, userSettings, ... }:
|
||||
{ lib, pkgs, systemSettings, userSettings, ... }:
|
||||
|
||||
{
|
||||
imports =
|
||||
|
@ -6,17 +6,9 @@
|
|||
../../system/hardware/time.nix # Network time sync
|
||||
../../system/security/doas.nix
|
||||
../../system/security/gpg.nix
|
||||
( import ../../system/app/docker.nix {storageDriver = null; inherit pkgs userSettings lib;} )
|
||||
( import ../../system/app/docker.nix {storageDriver = "btrfs"; inherit userSettings pkgs lib;} )
|
||||
];
|
||||
|
||||
# xz trojan https://github.com/NixOS/nixpkgs/issues/300055
|
||||
system.replaceRuntimeDependencies = [
|
||||
{
|
||||
original = pkgs.xz;
|
||||
replacement = pkgs-staging-next.xz;
|
||||
}
|
||||
];
|
||||
|
||||
# Fix nix path
|
||||
nix.nixPath = [ "nixpkgs=/nix/var/nix/profiles/per-user/root/channels/nixos"
|
||||
"nixos-config=$HOME/dotfiles/system/configuration.nix"
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
# your system. Help is available in the configuration.nix(5) man page
|
||||
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
||||
|
||||
{ pkgs, pkgs-staging-next, lib, systemSettings, userSettings, ... }:
|
||||
{ pkgs, lib, systemSettings, userSettings, ... }:
|
||||
{
|
||||
imports =
|
||||
[ ../../system/hardware-configuration.nix
|
||||
|
@ -16,7 +16,7 @@
|
|||
(./. + "../../../system/wm"+("/"+userSettings.wm)+".nix") # My window manager
|
||||
#../../system/app/flatpak.nix
|
||||
../../system/app/virtualization.nix
|
||||
( import ../../system/app/docker.nix {storageDriver = null; inherit pkgs userSettings lib;} )
|
||||
( import ../../system/app/docker.nix {storageDriver = "btrfs"; inherit userSettings lib;} )
|
||||
../../system/security/doas.nix
|
||||
../../system/security/gpg.nix
|
||||
../../system/security/blocklist.nix
|
||||
|
@ -27,14 +27,6 @@
|
|||
../../system/style/stylix.nix
|
||||
];
|
||||
|
||||
# xz trojan https://github.com/NixOS/nixpkgs/issues/300055
|
||||
system.replaceRuntimeDependencies = [
|
||||
{
|
||||
original = pkgs.xz;
|
||||
replacement = pkgs-staging-next.xz;
|
||||
}
|
||||
];
|
||||
|
||||
# Fix nix path
|
||||
nix.nixPath = [ "nixpkgs=/nix/var/nix/profiles/per-user/root/channels/nixos"
|
||||
"nixos-config=$HOME/dotfiles/system/configuration.nix"
|
||||
|
|
|
@ -50,7 +50,6 @@
|
|||
xournalpp
|
||||
glib
|
||||
newsflash
|
||||
foliate
|
||||
gnome.nautilus
|
||||
gnome.gnome-calendar
|
||||
gnome.seahorse
|
||||
|
@ -95,7 +94,7 @@
|
|||
vlc
|
||||
mpv
|
||||
yt-dlp
|
||||
blender-hip
|
||||
blender
|
||||
cura
|
||||
curaengine_stable
|
||||
(stdenv.mkDerivation {
|
||||
|
@ -133,7 +132,6 @@
|
|||
audio-recorder
|
||||
gnome.cheese
|
||||
ardour
|
||||
rosegarden
|
||||
tenacity
|
||||
|
||||
# Various dev packages
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
# your system. Help is available in the configuration.nix(5) man page
|
||||
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
||||
|
||||
{ lib, pkgs, pkgs-staging-next, systemSettings, userSettings, ... }:
|
||||
{ lib, pkgs, systemSettings, userSettings, ... }:
|
||||
|
||||
with lib;
|
||||
let
|
||||
|
@ -39,14 +39,6 @@ in
|
|||
|
||||
};
|
||||
|
||||
# xz trojan https://github.com/NixOS/nixpkgs/issues/300055
|
||||
system.replaceRuntimeDependencies = [
|
||||
{
|
||||
original = pkgs.xz;
|
||||
replacement = pkgs-staging-next.xz;
|
||||
}
|
||||
];
|
||||
|
||||
# Fix nix path
|
||||
nix.nixPath = [ "nixpkgs=/nix/var/nix/profiles/per-user/root/channels/nixos"
|
||||
"nixos-config=$HOME/dotfiles/system/configuration.nix"
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ pkgs, lib, userSettings, storageDriver ? null, ... }:
|
||||
{ lib, userSettings, storageDriver ? null, ... }:
|
||||
|
||||
assert lib.asserts.assertOneOf "storageDriver" storageDriver [
|
||||
null
|
||||
|
@ -18,8 +18,4 @@ assert lib.asserts.assertOneOf "storageDriver" storageDriver [
|
|||
autoPrune.enable = true;
|
||||
};
|
||||
users.users.${userSettings.username}.extraGroups = [ "docker" ];
|
||||
environment.systemPackages = with pkgs; [
|
||||
docker-compose
|
||||
lazydocker
|
||||
];
|
||||
}
|
||||
|
|
|
@ -8,16 +8,10 @@
|
|||
[ (modulesPath + "/installer/scan/not-detected.nix")
|
||||
];
|
||||
|
||||
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "usbhid" "usb_storage" "sd_mod" "kvm-amd" "amdgpu" ];
|
||||
boot.initrd.kernelModules = [ "amdgpu" ];
|
||||
boot.kernelModules = [ "kvm-amd" "amdgpu" ];
|
||||
boot.extraModulePackages = with config.boot.kernelPackages; [ zenpower amdgpu-pro ];
|
||||
hardware.opengl.extraPackages = [ pkgs.amdvlk ];
|
||||
hardware.opengl.extraPackages32 = [ pkgs.driversi686Linux.amdvlk ];
|
||||
|
||||
systemd.tmpfiles.rules = [
|
||||
"L+ /opt/rocm/hip - - - - ${pkgs.rocmPackages.clr}"
|
||||
];
|
||||
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "usbhid" "usb_storage" "sd_mod" ];
|
||||
boot.initrd.kernelModules = [ ];
|
||||
boot.kernelModules = [ "kvm-amd" ];
|
||||
boot.extraModulePackages = [ ];
|
||||
|
||||
services.btrfs.autoScrub = {
|
||||
enable = true;
|
||||
|
|
|
@ -3,4 +3,7 @@
|
|||
{
|
||||
boot.kernelPackages = pkgs.linuxPackages_zen;
|
||||
boot.consoleLogLevel = 0;
|
||||
boot.extraModulePackages = with config.boot.kernelPackages; [
|
||||
zenpower
|
||||
];
|
||||
}
|
||||
|
|
|
@ -1,9 +1,6 @@
|
|||
{ pkgs, ... }:
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
# OpenGL
|
||||
hardware.opengl.enable = true;
|
||||
hardware.opengl.extraPackages = with pkgs; [
|
||||
rocmPackages.clr.icd
|
||||
];
|
||||
}
|
||||
|
|
|
@ -184,8 +184,7 @@ c.url.searchengines = {'DEFAULT': 'https://startpage.com/do/search?query={}',
|
|||
'gl' : 'https://gitlab.com/search?search={}&nav_source=navbar',
|
||||
'np' : 'https://github.com/search?q=repo%3ANixOS%2Fnixpkgs%20{}&type=code',
|
||||
'wk' : 'https://en.wikipedia.org/w/index.php?fulltext=1&search={}&title=Special%3ASearch&ns0=1',
|
||||
'th' : 'https://www.thingiverse.com/search?q={}&page=1',
|
||||
'dh' : 'https://hub.docker.com/search?q={}'
|
||||
'th' : 'https://www.thingiverse.com/search?q={}&page=1'
|
||||
}
|
||||
|
||||
config.set('completion.open_categories',["searchengines","quickmarks","bookmarks"])
|
||||
|
|
|
@ -190,17 +190,6 @@
|
|||
;; For camelCase
|
||||
(global-subword-mode 1)
|
||||
|
||||
;; Mini-frames
|
||||
(setq mini-frame-show-parameters
|
||||
'((left . 0.5)
|
||||
(top . 10)
|
||||
(width . 0.6)
|
||||
(height . 15))
|
||||
)
|
||||
(setq mini-frame-resize nil)
|
||||
(setq mini-frame-standalone t)
|
||||
(mini-frame-mode -1) ;; don't enable this for now since it's kinda slow on my system
|
||||
|
||||
;;;------ Registers ------;;;
|
||||
|
||||
(map! :leader
|
||||
|
|
|
@ -253,17 +253,6 @@ Doom Emacs is traditionally installed by cloning the repository ([[https://githu
|
|||
;; For camelCase
|
||||
(global-subword-mode 1)
|
||||
|
||||
;; Mini-frames
|
||||
(setq mini-frame-show-parameters
|
||||
'((left . 0.5)
|
||||
(top . 10)
|
||||
(width . 0.6)
|
||||
(height . 15))
|
||||
)
|
||||
(setq mini-frame-resize nil)
|
||||
(setq mini-frame-standalone t)
|
||||
(mini-frame-mode -1) ;; don't enable this for now since it's kinda slow on my system
|
||||
|
||||
#+END_SRC
|
||||
** Registers
|
||||
#+BEGIN_SRC emacs-lisp :tangle config.el
|
||||
|
@ -1941,7 +1930,6 @@ Any git package can be configured for a particular commit or branch:
|
|||
(package! org-ql)
|
||||
(package! persist)
|
||||
(package! sudo-edit)
|
||||
(package! mini-frame)
|
||||
#+END_SRC
|
||||
* Nix Integration
|
||||
In order to have Nix load my Doom Emacs configuration [[./doom.nix][doom.nix]], which I source in the =imports= block of my [[../../../profiles/work/home.nix][home.nix]].
|
||||
|
|
|
@ -30,4 +30,3 @@
|
|||
(package! org-ql)
|
||||
(package! persist)
|
||||
(package! sudo-edit)
|
||||
(package! mini-frame)
|
||||
|
|
|
@ -76,7 +76,7 @@ ext nes, has fceux, X = fceux "$1"
|
|||
name ^[mM]akefile$ = make
|
||||
|
||||
#----------- FL STUDIO --------------
|
||||
ext flp = flstudio "$@" & &>/dev/null
|
||||
ext flp = flstudio "$@"
|
||||
|
||||
#--------------------------------------------
|
||||
# Scripts
|
||||
|
@ -119,7 +119,7 @@ mime ^video, terminal, !X, has mplayer = mplayer -- "$@"
|
|||
#-------------------------------------------
|
||||
ext pdf, has atril, X, flag f = atril "$@"
|
||||
ext djvu, has atril, X, flag f = atril "$@"
|
||||
ext epub, has foliate, X, flag f = foliate "$@"
|
||||
ext epub, has atril, X, flag f = atril "$@" "atril"
|
||||
|
||||
ext pptx?|od[dfgpst]|docx?|sxc|xlsx?|xlt|xlw|gnm|gnumeric, has libreoffice, X, flag f = soffice "$@"
|
||||
|
||||
|
@ -130,7 +130,7 @@ ext cbz, has zathura, X, flag f = zathura -- "$@"
|
|||
#-------------------------------------------
|
||||
# Images
|
||||
#-------------------------------------------
|
||||
mime ^image, has pinta, X, flag f = pinta "$@"
|
||||
mime ^image, has krita, X, flag f = krita "$@"
|
||||
mime ^image/svg, has inkscape, X, flag f = inkscape "$@"
|
||||
|
||||
#-------------------------------------------
|
||||
|
@ -213,10 +213,10 @@ label pager, !mime ^text, !ext xml|json|csv|tex|py|pl|rb|js|sh|php = "$PAGER"
|
|||
######################################################################
|
||||
|
||||
# My applications
|
||||
ext kra = krita "$@" & &>/dev/null
|
||||
ext blend* = blender "$@" & &>/dev/null
|
||||
ext helio = helio "$@" & &>/dev/null
|
||||
ext kdenlive = kdenlive-accel "$@" & &>/dev/null
|
||||
ext kra = krita "$@"
|
||||
ext blend* = blender "$@"
|
||||
ext helio = helio "$@"
|
||||
ext kdenlive = kdenlive-accel "$@"
|
||||
|
||||
# Execute a file as program/script.
|
||||
mime application/x-executable = "$1"
|
||||
|
|
|
@ -88,7 +88,6 @@
|
|||
bind=ALT,TAB,bringactivetotop
|
||||
bind=ALTSHIFT,TAB,cyclenext,prev
|
||||
bind=ALTSHIFT,TAB,bringactivetotop
|
||||
bind=SUPER,TAB,exec,pypr expose
|
||||
bind=SUPER,V,exec,wl-copy $(wl-paste | tr '\n' ' ')
|
||||
bind=SUPERSHIFT,T,exec,screenshot-ocr
|
||||
|
||||
|
@ -196,12 +195,6 @@
|
|||
windowrulev2 = workspace special silent,$pavucontrol
|
||||
windowrulev2 = opacity 0.80,$pavucontrol
|
||||
|
||||
$miniframe = title:\*Minibuf.*
|
||||
windowrulev2 = float,$miniframe
|
||||
windowrulev2 = size 64% 50%,$miniframe
|
||||
windowrulev2 = move 18% 25%,$miniframe
|
||||
windowrulev2 = animation popin 1 20,$miniframe
|
||||
|
||||
windowrulev2 = float,title:^(Kdenlive)$
|
||||
|
||||
windowrulev2 = float,class:^(pokefinder)$
|
||||
|
@ -216,7 +209,6 @@
|
|||
windowrulev2 = opacity 0.75,title:\[.*\] - My Local Dashboard Awesome Homepage
|
||||
windowrulev2 = opacity 0.9,class:^(org.keepassxc.KeePassXC)$
|
||||
windowrulev2 = opacity 0.75,class:^(org.gnome.Nautilus)$
|
||||
windowrulev2 = opacity 0.75,class:^(org.gnome.Nautilus)$
|
||||
|
||||
layerrule = blur,waybar
|
||||
|
||||
|
@ -288,7 +280,6 @@
|
|||
polkit_gnome
|
||||
libva-utils
|
||||
gsettings-desktop-schemas
|
||||
pyprland
|
||||
gnome.zenity
|
||||
wlr-randr
|
||||
wtype
|
||||
|
@ -381,11 +372,26 @@
|
|||
exit 0
|
||||
|
||||
'')
|
||||
(pkgs.python3Packages.buildPythonPackage rec {
|
||||
pname = "pyprland";
|
||||
version = "1.4.1";
|
||||
src = pkgs.fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-JRxUn4uibkl9tyOe68YuHuJKwtJS//Pmi16el5gL9n8=";
|
||||
};
|
||||
format = "pyproject";
|
||||
propagatedBuildInputs = with pkgs; [
|
||||
python3Packages.setuptools
|
||||
python3Packages.poetry-core
|
||||
poetry
|
||||
];
|
||||
doCheck = false;
|
||||
})
|
||||
];
|
||||
home.file.".config/hypr/pyprland.json".text = ''
|
||||
{
|
||||
"pyprland": {
|
||||
"plugins": ["scratchpads", "magnify", "expose"]
|
||||
"plugins": ["scratchpads", "magnify"]
|
||||
},
|
||||
"scratchpads": {
|
||||
"term": {
|
||||
|
|
|
@ -84,4 +84,28 @@
|
|||
# Interval of saving user data in minutes
|
||||
AutoSavePeriod=30
|
||||
'';
|
||||
home.file.".config/fcitx5/profile".text = ''
|
||||
[Groups/0]
|
||||
# Group Name
|
||||
Name=Default
|
||||
# Layout
|
||||
Default Layout=us
|
||||
# Default Input Method
|
||||
DefaultIM=mozc
|
||||
|
||||
[Groups/0/Items/0]
|
||||
# Name
|
||||
Name=keyboard-us
|
||||
# Layout
|
||||
Layout=
|
||||
|
||||
[Groups/0/Items/1]
|
||||
# Name
|
||||
Name=mozc
|
||||
# Layout
|
||||
Layout=
|
||||
|
||||
[GroupOrder]
|
||||
0=Default
|
||||
'';
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue