-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathwork.nix
114 lines (99 loc) · 2.45 KB
/
work.nix
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
{
config,
pkgs,
inputs,
...
}:
let
overlay = self: super: {
# Usage notice, install wrapped packages in `/usr/bin`
native_wrapper =
program:
pkgs.writeShellScriptBin program.pname ''
PATH=/usr/bin:${program}/bin ${program.pname} "$@"
'';
monitor-heap = pkgs.writeShellScriptBin "monitor-heap" ''
#!/bin/sh
head -`fgrep -n END_SAMPLE $1.hp | tail -1 | cut -d : -f 1` $1.hp \
| hp2ps > $1.ps
gv $1.ps &
gvpsnum=$!
while [ 1 ] ; do
sleep 10
head -`fgrep -n END_SAMPLE $1.hp | tail -1 | cut -d : -f 1` $1.hp \
| hp2ps > $1.ps
kill -HUP $gvpsnum
done
'';
useWayland = true;
# betterlockscreen = self.native_wrapper super.betterlockscreen;
# i3lock-color = self.native_wrapper super.i3lock-color;
};
in
{
nixpkgs.overlays = [ overlay ];
imports = [
./common.nix
./home/modules/nixgl.nix
./home/modules/general-overlay.nix
];
targets.genericLinux.enable = true;
home = rec {
username = "curtis";
homeDirectory = "/home/${username}";
packages = with pkgs; [
gv
monitor-heap
mermaid-cli
pgcli
# pgadmin4
solaar
jmeter
_1password
graphviz
gprof2dot
sqlite
sqldiff
# i3lock-color
# Create .conf file in /etc/tmpfiles.d/ containing a symlink entry
# L+ /run/opengl-driver - - - - <nix-profile directory>
# Ensures drivers are symlinked nixos-style to make them accessible from
# nix-installed programs.
mesa.drivers
intel-media-driver
bluetui
pkgs.haskellPackages.ghcprofview
# pkgs.haskellPackages.hpview
];
};
services = {
random-background = {
enable = true;
imageDirectory = "%h/Pictures/Wallpapers";
};
};
programs = {
git = {
userName = "Curtis Chin Jen Sem";
userEmail = "[email protected]";
extraConfig = {
gpg.format = "ssh";
user.signingkey = "/home/curtis/.ssh/id_ed25519.pub";
commit.gpgsign = true;
};
};
fish = {
shellInitLast = ''
begin
set fish_greeting
set __done_notify_sound 1
# Non-NixOS setting
set --export NIX_PATH $NIX_PATH:$HOME/.nix-defexpr/channels
set --export NIXPKGS_ALLOW_UNFREE 1
# Channable specific
. ${inputs.channableFishFile}
end
'';
};
};
}