Compare commits
10 commits
07179e77e8
...
74ad74af1f
Author | SHA1 | Date | |
---|---|---|---|
Natsu Kagami | 74ad74af1f | ||
Natsu Kagami | db64c71a2a | ||
Natsu Kagami | f6044a11ba | ||
Natsu Kagami | 2fe1f71699 | ||
Natsu Kagami | eed4c25127 | ||
Natsu Kagami | 4ab9afd9c3 | ||
Natsu Kagami | 445c3fcc4c | ||
Natsu Kagami | 8eca740ad3 | ||
Natsu Kagami | 666478ad36 | ||
Natsu Kagami | 381520a013 |
14
flake.lock
14
flake.lock
|
@ -959,11 +959,11 @@
|
|||
},
|
||||
"nixpkgs-unstable": {
|
||||
"locked": {
|
||||
"lastModified": 1716358718,
|
||||
"narHash": "sha256-NQbegJb2ZZnAqp2EJhWwTf6DrZXSpA6xZCEq+RGV1r0=",
|
||||
"lastModified": 1717112898,
|
||||
"narHash": "sha256-7R2ZvOnvd9h8fDd65p0JnB7wXfUvreox3xFdYWd1BnY=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "3f316d2a50699a78afe5e77ca486ad553169061e",
|
||||
"rev": "6132b0f6e344ce2fe34fc051b72fb46e34f668e0",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -1087,16 +1087,16 @@
|
|||
},
|
||||
"nixpkgs_8": {
|
||||
"locked": {
|
||||
"lastModified": 1716755743,
|
||||
"narHash": "sha256-IwLq4CTHXkEeBUQeVWhmKsX0pZ8snSQi0uPo6JGeQkA=",
|
||||
"lastModified": 1717144377,
|
||||
"narHash": "sha256-F/TKWETwB5RaR8owkPPi+SPJh83AQsm6KrQAlJ8v/uA=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "baf5166949ef8cb8e85e3f940eec53b9c916db64",
|
||||
"rev": "805a384895c696f802a9bf5bf4720f37385df547",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"ref": "release-24.05",
|
||||
"ref": "nixos-24.05",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
|
|
13
flake.nix
13
flake.nix
|
@ -2,7 +2,7 @@
|
|||
description = "nki's systems";
|
||||
|
||||
inputs = {
|
||||
nixpkgs.url = "github:nixos/nixpkgs/release-24.05";
|
||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-24.05";
|
||||
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixpkgs-unstable";
|
||||
darwin.url = "github:lnl7/nix-darwin/master";
|
||||
darwin.inputs.nixpkgs.follows = "nixpkgs-unstable";
|
||||
|
@ -68,23 +68,13 @@
|
|||
nixpkgsAsRegistry_ = stable: { lib, ... }: {
|
||||
imports = [ applyOverlays ];
|
||||
nix.registry.current-system.flake = self;
|
||||
nix.registry.nixpkgs.flake = stable;
|
||||
nix.registry.nixpkgs-unstable.flake = nixpkgs-unstable;
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
nix.nixPath = [
|
||||
"nixpkgs=${nixpkgs}"
|
||||
"nixpkgs-unstable=${nixpkgs-unstable}"
|
||||
"/nix/var/nix/profiles/per-user/root/channels"
|
||||
];
|
||||
# Binary Cache for Haskell.nix
|
||||
nix.settings.trusted-public-keys = [
|
||||
# "hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ="
|
||||
];
|
||||
nix.settings.substituters = [
|
||||
# "https://cache.iog.io"
|
||||
];
|
||||
};
|
||||
nixpkgsAsRegistry = nixpkgsAsRegistry_ nixpkgs;
|
||||
|
||||
osuStable = { pkgs, ... }: {
|
||||
nix.settings = {
|
||||
|
@ -195,6 +185,7 @@
|
|||
{
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
home-manager.backupFileExtension = "backup";
|
||||
home-manager.users.nki = import ./home/nki-framework.nix;
|
||||
}
|
||||
];
|
||||
|
|
|
@ -4,8 +4,6 @@ let
|
|||
cfg = config.linux.graphical;
|
||||
|
||||
vscode = with pkgs; if stdenv.isAarch64 then unstable.vscode else unstable.vscode-fhs;
|
||||
|
||||
alwaysStartup = with pkgs; [ ];
|
||||
in
|
||||
{
|
||||
imports = [ ./x11.nix ./wayland.nix ./alacritty.nix ];
|
||||
|
@ -43,28 +41,31 @@ in
|
|||
deluge # Torrent client
|
||||
pavucontrol # PulseAudio control panel
|
||||
firefox
|
||||
librewolf
|
||||
cinnamon.nemo # File manager
|
||||
thunderbird # Email
|
||||
sublime-music # For navidrome
|
||||
pkgs.unstable.cinny-desktop
|
||||
pkgs.unstable.gajim
|
||||
cinny-desktop
|
||||
gajim
|
||||
vivaldi
|
||||
# Note taking
|
||||
pkgs.unstable.logseq
|
||||
logseq
|
||||
# Audio
|
||||
qpwgraph # Pipewire graph
|
||||
|
||||
# (if stdenv.isAarch64 then zotero else pkgs.unstable.zotero) // kinda fucked for now from CVE
|
||||
zotero_7
|
||||
libreoffice
|
||||
|
||||
mpv # for anki
|
||||
pkgs.unstable.anki-bin
|
||||
anki-bin
|
||||
|
||||
tdesktop
|
||||
whatsapp-for-linux
|
||||
obs-studio
|
||||
|
||||
(librewolf.override {
|
||||
nativeMessagingHosts = with pkgs; [ kdePackages.plasma-browser-integration ];
|
||||
})
|
||||
|
||||
## CLI stuff
|
||||
dex # .desktop file management, startup
|
||||
# sct # Display color temperature
|
||||
|
@ -72,11 +73,11 @@ in
|
|||
] ++ (if pkgs.stdenv.isAarch64 then [ ] else [
|
||||
gnome.cheese # Webcam check, expensive
|
||||
# Chat stuff
|
||||
unstable.slack
|
||||
slack
|
||||
]));
|
||||
|
||||
nki.programs.discord.enable = pkgs.stdenv.isx86_64;
|
||||
nki.programs.discord.package = (pkgs.callPackage pkgs.unstable.vesktop.override { stdenv = pkgs.gcc13Stdenv; }).overrideAttrs (attrs: {
|
||||
nki.programs.discord.package = pkgs.vesktop.overrideAttrs (attrs: {
|
||||
nativeBuildInputs = attrs.nativeBuildInputs ++ [ pkgs.nss_latest pkgs.makeWrapper ];
|
||||
postInstall = ''
|
||||
makeWrapper $out/bin/vesktop $out/bin/discord
|
||||
|
@ -181,9 +182,15 @@ in
|
|||
package = pkgs.numix-gtk-theme;
|
||||
name = "Numix";
|
||||
};
|
||||
gtk.gtk2.configLocation = "${config.xdg.configHome}/gtk-2.0/gtkrc";
|
||||
gtk.gtk2.extraConfig = ''
|
||||
gtk-im-module="fcitx"
|
||||
'';
|
||||
gtk.gtk3.extraConfig.gtk-im-module = "fcitx";
|
||||
gtk.gtk4.extraConfig.gtk-im-module = "fcitx";
|
||||
## Qt
|
||||
qt.enable = true;
|
||||
qt.platformTheme = "gnome";
|
||||
qt.platformTheme.name = "adwaita";
|
||||
qt.style.package = pkgs.adwaita-qt;
|
||||
qt.style.name = "adwaita";
|
||||
|
||||
|
@ -205,7 +212,7 @@ in
|
|||
"${srcFile}/${pkg.name}.desktop";
|
||||
};
|
||||
};
|
||||
autoStartup = listToAttrs (map f (cfg.startup ++ alwaysStartup));
|
||||
autoStartup = listToAttrs (map f cfg.startup);
|
||||
in
|
||||
autoStartup // {
|
||||
## Polkit UI
|
||||
|
|
|
@ -5,25 +5,13 @@ let
|
|||
swaync = pkgs.swaynotificationcenter;
|
||||
in
|
||||
with lib; mkIf (config.linux.graphical.type == "wayland") {
|
||||
home.packages = [ swaync ];
|
||||
wayland.windowManager.sway.config = {
|
||||
startup = [
|
||||
{ command = "swaync"; }
|
||||
];
|
||||
};
|
||||
xdg.configFile = {
|
||||
"swaync/config.json" = {
|
||||
text = builtins.toJSON {
|
||||
widgets = [ "inhibitors" "title" "dnd" "mpris" "notifications" ];
|
||||
scripts = { };
|
||||
};
|
||||
onChange = "swaync-client -R";
|
||||
};
|
||||
"swaync/style.css" = {
|
||||
source = ./swaync.css;
|
||||
onChange = "swaync-client -rs";
|
||||
};
|
||||
services.swaync = {
|
||||
enable = true;
|
||||
settings.widgets = [ "inhibitors" "title" "dnd" "mpris" "notifications" ];
|
||||
style = ./swaync.css;
|
||||
};
|
||||
systemd.user.services.swaync.Install.WantedBy = lib.mkForce [ "sway-session.target" ];
|
||||
systemd.user.services.swaync.Unit.PartOf = lib.mkForce [ "sway-session.target" ];
|
||||
|
||||
programs.my-sway.waybar = {
|
||||
extraSettings = {
|
||||
|
|
|
@ -159,12 +159,14 @@ in
|
|||
# Startup programs
|
||||
{ command = "${cfg.browser}"; }
|
||||
{ command = "thunderbird"; }
|
||||
# IME
|
||||
{ command = "fcitx5"; }
|
||||
] ++ (if cfg.discord != null then [
|
||||
{ command = "${cfg.discord}"; }
|
||||
] ++ lib.lists.optional
|
||||
(!pkgs.stdenv.isAarch64)
|
||||
(
|
||||
{ command = "${pkgs.unstable.premid}/bin/premid"; }
|
||||
{ command = "${pkgs.premid}/bin/premid"; }
|
||||
) else [ ]);
|
||||
|
||||
### Keybindings
|
||||
|
@ -346,6 +348,7 @@ in
|
|||
export SDL_VIDEODRIVER=wayland
|
||||
export QT_QPA_PLATFORM=wayland
|
||||
export QT_WAYLAND_DISABLE_WINDOWDECORATION="1"
|
||||
export QT_IM_MODULE=fcitx
|
||||
# export NIXOS_OZONE_WL=1 # Yeah this fucks up IMEs
|
||||
|
||||
'' + (if config.services.gnome-keyring.enable then ''
|
||||
|
|
|
@ -156,7 +156,7 @@ in
|
|||
loader.timeout = 60;
|
||||
loader.systemd-boot.enable = true;
|
||||
loader.efi.canTouchEfiVariables = true;
|
||||
supportedFilesystems = [ "ntfs" ];
|
||||
supportedFilesystems.ntfs = true;
|
||||
};
|
||||
boot.initrd.systemd.enable = builtins.length (builtins.attrNames (cfg.luksDevices)) > 0;
|
||||
# LUKS devices
|
||||
|
@ -249,6 +249,7 @@ in
|
|||
# Input methods (only fcitx5 works reliably on Wayland)
|
||||
i18n.inputMethod = {
|
||||
enabled = "fcitx5";
|
||||
fcitx5.waylandFrontend = true;
|
||||
fcitx5.addons = with pkgs; [
|
||||
fcitx5-mozc
|
||||
fcitx5-unikey
|
||||
|
|
|
@ -28,7 +28,6 @@ in
|
|||
cloud.traefik.hosts.invidious = { host = "invi.dtth.ch"; port = 61191; };
|
||||
services.invidious = {
|
||||
enable = true;
|
||||
package = pkgs.unstable.invidious;
|
||||
domain = "invi.dtth.ch";
|
||||
port = 61191;
|
||||
extraSettingsFile = config.sops.secrets.invidious.path;
|
||||
|
|
|
@ -5,14 +5,12 @@ let
|
|||
x86 = import nixpkgs-unstable { system = prev.system; config.allowUnsupportedSystem = true; };
|
||||
};
|
||||
overlay-needs-unstable = final: prev: {
|
||||
# override some packages that needs unstable that cannot be changed in the setup.
|
||||
nix-direnv = prev.unstable.nix-direnv;
|
||||
|
||||
# Typst updates really quickly.
|
||||
typst = final.unstable.typst;
|
||||
typst-lsp = final.unstable.typst-lsp;
|
||||
|
||||
peertube = final.unstable.peertube;
|
||||
# Until 0.35 is in
|
||||
kitty = final.unstable.kitty;
|
||||
};
|
||||
overlay-imported = final: prev: {
|
||||
sway = prev.sway.override { sway-unwrapped = final.swayfx-unwrapped; };
|
||||
|
|
Loading…
Reference in a new issue