Merge branch 'main' into cosmic
This commit is contained in:
commit
3009a03edc
26 changed files with 2260 additions and 51 deletions
|
@ -17,7 +17,10 @@
|
|||
initialPassword = "nixos";
|
||||
packages = with pkgs; [
|
||||
firefox
|
||||
vivaldi
|
||||
(vivaldi.override {
|
||||
proprietaryCodecs = true;
|
||||
commandLineArgs = [ "--ozone-platform=wayland" ];
|
||||
})
|
||||
discord-canary
|
||||
unstablePkgs.vscode
|
||||
gimp
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
config = {
|
||||
services.printing.enable = true;
|
||||
|
||||
sound.enable = true;
|
||||
sound.enable = false;
|
||||
hardware.pulseaudio.enable = false;
|
||||
security.rtkit.enable = true;
|
||||
services.pipewire = {
|
||||
|
@ -24,5 +24,12 @@
|
|||
services.openssh.extraConfig = ''
|
||||
X11Forwarding yes
|
||||
'';
|
||||
|
||||
# Fonts
|
||||
fonts.packages = with pkgs; [
|
||||
corefonts
|
||||
nerdfonts
|
||||
roboto
|
||||
];
|
||||
};
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2,27 +2,41 @@
|
|||
# your system. Help is available in the configuration.nix(5) man page
|
||||
# and in the NixOS manual (accessible by running 'nixos-help').
|
||||
|
||||
{ config, pkgs, lib, ... }:
|
||||
{ inputs, lib, pkgs, ... }:
|
||||
|
||||
let
|
||||
/*
|
||||
* pkgs: package - nixpkgs package
|
||||
* pkg: package - nixpkgs package
|
||||
* exe: string - executable (under bin) in pkgs
|
||||
* wrapperArgs: string[] - arguments to pass to the wrapper
|
||||
*/
|
||||
mkWrappedExecutable = {pkg, exe ? pkg.meta.mainProgram, wrapperArgs}: let inherit (pkgs) lib makeWrapper; in pkgs.stdenv.mkDerivation {
|
||||
name = "${pkg.name}-wrap-${exe}";
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
phases = ["installPhase"];
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin
|
||||
makeWrapper ${pkg}/bin/${exe} $out/bin/${exe} ${lib.concatStringsSep " " wrapperArgs}
|
||||
'';
|
||||
};
|
||||
wrapedNixPrograms = builtins.map lib.hiPrio [
|
||||
(mkWrappedExecutable {pkg = pkgs.nix; exe = "nix-build"; wrapperArgs = ["--add-flags" "\"--log-format\"" "--add-flags" "bar-with-logs"];})
|
||||
mkWrappedExecutable = {pkg, exe ? pkg.meta.mainProgram, wrapperArgs}: let inherit (pkgs) lib makeWrapper; in lib.hiPrio (
|
||||
pkgs.stdenv.mkDerivation {
|
||||
inherit wrapperArgs;
|
||||
name = "${pkg.name}-wrap-${exe}";
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
phases = ["installPhase"];
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin
|
||||
makeWrapper ${pkg}/bin/${exe} $out/bin/${exe} $wrapperArgs
|
||||
'';
|
||||
}
|
||||
);
|
||||
|
||||
# bool -> nixpkgs[]
|
||||
wrappedNixExecutables = inEnvironment: assert builtins.isBool inEnvironment; [
|
||||
(mkWrappedExecutable {pkg = pkgs.nix; exe = "nix-build"; wrapperArgs = ["--add-flags" "\"--log-format\"" "--add-flags" "bar${lib.optionalString inEnvironment "-with-logs"}"];})
|
||||
(mkWrappedExecutable {pkg = pkgs.nix; exe = "nix-shell"; wrapperArgs = ["--add-flags" "\"--log-format\"" "--add-flags" "bar"];})
|
||||
];
|
||||
wrappedNixosExecutables = [
|
||||
(mkWrappedExecutable {pkg = pkgs.nixos-rebuild; wrapperArgs = ["--add-flags" "\"--log-format\"" "--add-flags" "bar"];})
|
||||
];
|
||||
wrappedNix = (pkgs.buildEnv {
|
||||
name = "wrappedNix-${pkgs.nix.version}";
|
||||
paths = [ pkgs.nix ] ++ wrappedNixExecutables false;
|
||||
}).overrideAttrs {
|
||||
version = pkgs.nix.version;
|
||||
};
|
||||
in
|
||||
{
|
||||
# kernel
|
||||
|
@ -33,6 +47,16 @@ in
|
|||
|
||||
# Allow unfree packages
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
nix = {
|
||||
package = wrappedNix;
|
||||
channel.enable = false;
|
||||
settings.nix-path = [
|
||||
"nixpkgs=${pkgs.selfExpr { useConfig = false; }}"
|
||||
"systemNixpkgs=${pkgs.selfExpr { useConfig = true; name = "systemNixpkgs-self"; }}"
|
||||
# don't garbage collect the nixpkgs input
|
||||
"inputsNixpkgs=${inputs.nixpkgs}"
|
||||
];
|
||||
};
|
||||
|
||||
# List packages installed in system profile. To search, run:
|
||||
# $ nix search wget
|
||||
|
@ -45,7 +69,8 @@ in
|
|||
fastfetch
|
||||
smartmontools
|
||||
ddrescue
|
||||
] ++ wrapedNixPrograms;
|
||||
] ++ wrappedNixExecutables true
|
||||
++ wrappedNixosExecutables;
|
||||
|
||||
programs.git.enable = true;
|
||||
programs.git.config = {
|
||||
|
|
|
@ -1,6 +1,21 @@
|
|||
{pkgs, ... }:
|
||||
{config, lib, pkgs, ... }:
|
||||
|
||||
let
|
||||
maxThumbnails = config.programs.gnome.extensions.workspaceIndicator.maxThumbnails;
|
||||
workspaceIndicator = pkgs.gnomeExtensions.workspace-indicator.overrideAttrs {
|
||||
postPatch = ''
|
||||
sed -i 's/const MAX_THUMBNAILS = 6;/const MAX_THUMBNAILS = '${builtins.toString maxThumbnails}'/' extension.js
|
||||
'';
|
||||
};
|
||||
in
|
||||
{
|
||||
options = {
|
||||
programs.gnome.extensions.workspaceIndicator.maxThumbnails = lib.mkOption {
|
||||
type = lib.types.int;
|
||||
default = 11;
|
||||
description = "The maximum number of thumbnails to show in the workspace indicator";
|
||||
};
|
||||
};
|
||||
imports = [
|
||||
../unstable-packages.nix
|
||||
../dconf-common.nix
|
||||
|
@ -56,6 +71,7 @@
|
|||
];
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
workspaceIndicator
|
||||
gnomeExtensions.pop-shell
|
||||
gnomeExtensions.vitals
|
||||
gnomeExtensions.tray-icons-reloaded
|
||||
|
|
|
@ -7,7 +7,6 @@
|
|||
config = {
|
||||
services.xserver.displayManager.gdm = {
|
||||
enable = true;
|
||||
wayland = false;
|
||||
autoSuspend = false;
|
||||
};
|
||||
|
||||
|
|
|
@ -12,6 +12,12 @@
|
|||
powerManagement.enable = true;
|
||||
open = false;
|
||||
nvidiaSettings = true;
|
||||
package = config.boot.kernelPackages.nvidiaPackages.stable;
|
||||
package = config.boot.kernelPackages.nvidiaPackages.mkDriver {
|
||||
version = "555.42.02";
|
||||
sha256_64bit = "sha256-k7cI3ZDlKp4mT46jMkLaIrc2YUx1lh1wj/J4SVSHWyk=";
|
||||
settingsSha256 = "sha256-rtDxQjClJ+gyrCLvdZlT56YyHQ4sbaL+d5tL4L4VfkA=";
|
||||
persistencedSha256 = "";
|
||||
};
|
||||
};
|
||||
nixpkgs.config.nvidia.acceptLicense = true;
|
||||
}
|
||||
|
|
|
@ -47,6 +47,7 @@ in
|
|||
'';
|
||||
|
||||
environment.etc."xdg/kitty/kitty.conf".text = ''
|
||||
font_family MesloLGS Nerd Font
|
||||
font_size 10.0
|
||||
scrollback_lines 10000
|
||||
window_border_width 0.5
|
||||
|
@ -91,17 +92,38 @@ in
|
|||
set shiftwidth=4
|
||||
set expandtab
|
||||
set autoindent
|
||||
set updatetime=500
|
||||
|
||||
syntax on
|
||||
set encoding=utf-8
|
||||
set wildmode=longest,list,full
|
||||
set listchars=space:·,tab:┄┄»
|
||||
set indentkeys-=0#
|
||||
|
||||
" rainbow-delimeters-nvim
|
||||
let g:rainbow_delimiters = {
|
||||
\ 'strategy': {
|
||||
\ ${"''"}: rainbow_delimiters#strategy.global,
|
||||
\ },
|
||||
\ }
|
||||
|
||||
" vim-gitguter
|
||||
set signcolumn=yes
|
||||
highlight SignColumn ctermbg=NONE
|
||||
highlight GitGutterAdd ctermfg=2
|
||||
highlight GitGutterChange ctermfg=4
|
||||
highlight GitGutterDelete ctermfg=1
|
||||
|
||||
lua require('guess-indent').setup {}
|
||||
'';
|
||||
packages.myVimPackage = with pkgs.vimPlugins; {
|
||||
start = [
|
||||
guess-indent-nvim
|
||||
vim-visual-multi
|
||||
autoclose-nvim
|
||||
rainbow-delimiters-nvim
|
||||
vimagit
|
||||
vim-gitgutter
|
||||
];
|
||||
};
|
||||
};
|
||||
|
|
|
@ -1,37 +1,20 @@
|
|||
{config, pkgs, lib, ...}:
|
||||
|
||||
let
|
||||
nixos-unstable-exprs = builtins.fetchTarball https://channels.nixos.org/nixos-unstable/nixexprs.tar.xz;
|
||||
nixos-unstable = import nixos-unstable-exprs {
|
||||
inherit (config.nixpkgs) config localSystem crossSystem;
|
||||
overlays = if config.unstable.usePkgsOverlays then config.pkgs.overlays else [];
|
||||
};
|
||||
nixos-unstable-version = builtins.concatStringsSep "." [
|
||||
(builtins.readFile "${builtins.toString nixos-unstable-exprs}/.version")
|
||||
(builtins.readFile "${builtins.toString nixos-unstable-exprs}/.version-suffix")
|
||||
];
|
||||
cfg = config.unstable;
|
||||
unstableOverlay = import ../pkgs/overlays/unstable.nix;
|
||||
in
|
||||
{
|
||||
options.unstable = {
|
||||
enable = lib.mkEnableOption (lib.mkDoc ''
|
||||
use of unstable packages in configuration. You can use `unstablePkgs` in configuration modules
|
||||
'') // { default = true; };
|
||||
usePkgsOverlays = lib.mkEnableOption (lib.mkDoc ''
|
||||
use overlays from `nixpkgs.overlays`
|
||||
'');
|
||||
pkgs = lib.mkOption {
|
||||
default = if config.unstable.enable then nixos-unstable else pkgs;
|
||||
description = lib.mkDoc ''
|
||||
acts like pkgs, but it has unstable packages if `unstable.enable` is enabled.
|
||||
You can also use `unstablePkgs` in module arguments.
|
||||
'';
|
||||
visible = true;
|
||||
readOnly = true;
|
||||
type = lib.types.pkgs;
|
||||
};
|
||||
};
|
||||
config._module.args.unstablePkgs = config.unstable.pkgs;
|
||||
config.system.extraSystemBuilderCmds = lib.mkIf config.unstable.enable ''
|
||||
echo ${nixos-unstable-version} > $out/nixos-unstable-version
|
||||
'';
|
||||
}
|
||||
config = {
|
||||
_module.args.unstablePkgs = if config.unstable.enable then pkgs.unstable else pkgs;
|
||||
nixpkgs.overlays = lib.mkIf cfg.enable [ unstableOverlay ];
|
||||
system.extraSystemBuilderCmds = lib.mkIf config.unstable.enable ''
|
||||
echo ${pkgs.unstableVersion} > $out/nixos-unstable-version
|
||||
'';
|
||||
};
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue